как я могу открыть URL-адрес текущего приложения iOS вместо Safari?

avatar
Dhiren
9 августа 2021 в 07:19
161
2
-4

Допустим, у меня есть одна кнопка в приложении, и при нажатии на нее вызывается веб-страница или URL-адрес.

Теперь я хочу открыть эту веб-страницу на экране своего приложения вместо Safari или любого другого браузера?

я думаю, это возможно с веб-представлением.

Источник
RTXGamer
9 августа 2021 в 07:23
0

developer.apple.com/documentation/webkit/wkwebview

Paulw11
9 августа 2021 в 07:34
0

Да, вам нужно использовать веб-просмотр или SFSafariViewController

Dhiren
9 августа 2021 в 07:37
0

@Paulw11 Paulw11, я не хочу открывать ссылку в сафари или любом другом браузере.

Paulw11
9 августа 2021 в 07:43
0

SFSafariViewController — это контроллер представления, который вы представляете в своем приложении. Он обеспечивает изоляцию между вашим приложением и представлением браузера, что означает, что вы можете использовать такие вещи, как автозаполнение.

Dhiren
9 августа 2021 в 08:11
0

@Paul11 понял.

Dávid Pásztor
9 августа 2021 в 10:53
0

Вы наверняка пробовали что-то. SO не является бесплатным сайтом для написания кода. Не проявив хотя бы некоторых (исследовательских) усилий, вы вряд ли получите здесь ответ.

Ответы (2)

avatar
son
9 августа 2021 в 07:47
0

Вы должны создать собственное веб-представление (или контроллер), а затем попытаться загрузить в него URL-адрес. Пример:

import WebKit

class MyWebViewController: UIViewController {
    private let webView = WKWebView()
    private let urlString: String
    
    init(url: String) {
        self.urlString = url
        super.init(nibName: nil, bundle: .main)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.addSubview(webView)
        webView.frame = view.bounds
        webView.autoresizingMask = [.flexibleLeftMargin, .flexibleTopMargin, .flexibleHeight, .flexibleWidth]
        
        guard let url = URL(string: urlString) else { return }
        webView.load(URLRequest(url: url))
    }
}
avatar
Tadreik
9 августа 2021 в 07:46
0

Вы должны использовать веб-представление:

import WebKit

override func viewDidLoad() {
        super.viewDidLoad()
        let url = URL(string: "https://google.com")!
        let webView = WKWebView(frame: view.bounds)
        webView.load(URLRequest(url: url))
        webView.navigationDelegate = self
        view.addSubview(webView)
    }