Как связать кнопку с веб-представлением другого контроллера, имеющего ссылку, которая изменяется в зависимости от нажатой ячейки? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть кнопка, которая должна открывать веб-представление на другом контроллере модально.в настоящее время кнопка выполняет код, который вы видите ниже.Я хотел бы, чтобы кнопка открывала веб-просмотр напрямую.ссылка изменяется, потому что это программа чтения RSS-сообщений, и поэтому, основываясь на нажатой ячейке, изменяется ссылка кнопки, которая должна открывать веб-просмотр.

это код, который управляет контроллером, который появляется после нажатия ячейки

class FeedItemWebViewController: UIViewController, UIWebViewDelegate {

@IBOutlet weak var textView: UITextView!
var link: String? = nil
var descriptionTesto:String? = nil

override func viewDidLoad() {
    super.viewDidLoad()
  self.textView.text = descriptionTesto
}
@IBAction func apri(_ sender: UIBarButtonItem) {
     guard let url = URL(string: self.link ?? "") else { return }
   UIApplication.shared.open(url, options: [:], completionHandler: nil)


}



}

здесь он управляет контроллером, где я вошел в веб-просмотр

class OpenSafariController: UIViewController, UIWebViewDelegate {

@IBOutlet weak var myWebView: UIWebView!


override func viewDidLoad() {
    super.viewDidLoad()

}


@IBAction func ritornaLista(_ sender: UIBarButtonItem) {
    self.presentingViewController?.presentingViewController?.dismiss(animated: false, completion: nil)
}
}

1 Ответ

1 голос
/ 28 мая 2019

удалить ненужный контроллер веб-просмотра. импорт SafariServices. вот код, который нужно поставить на кнопку

@IBAction func apri(_ sender: UIBarButtonItem) {

  let svc = SFSafariViewController(url: URL(string: self.link ?? "")!)
    self.present(svc, animated: true, completion: nil)
}
...