0
私はいくつかのテーブルビューコントローラでアプリを持っています。各セルの最後の1つに私は別のURLを持っています。 SafariVCを挿入することにしましたが、FirstResponderのようなものです。上記のGIFを見た後予期せぬSafariViewController反応
class Page3: UITableViewController, GADBannerViewDelegate, SFSafariViewControllerDelegate {
...
@IBOutlet weak var websiteTextView: UITextView!
...
override func viewDidLoad() {
super.viewDidLoad()
...
websiteTextView.text = goP3.website
let safariVC = SFSafariViewController(url: URL(string: goP3.website)!)
present(safariVC, animated: true, completion: nil)
safariVC.delegate = self
...
}
}
、私は2つの疑問があります。
第一に。Page3
に入ると、SafariViewControllerが自動的に開きます。どうすれば修正できますか?
2st。 URLをクリックすると、SafariViewControllerが開かれません。私はそれを修正するために何をしなければならないのですか? 1)第1回質問回答については
textViewにテキストを表示させるため、 'websiteTextView.text = goP3.website'が必要です。そして、私はボタンが動作するとは思わない。同じテキストビュー内に3つまたは4つのURLがあることがあります。申し訳ありません、私はこのbaforeを説明することを忘れました。別の提案がありますか? –
はい、さまざまな方法があります。しかし、UITextViewのデフォルトの動作は次のとおりです。Safariアプリケーションでのみリンクが開かれます。 このリンクをたどる必要があると思います。あなたが役に立たないと分かったら、教えてください。私は他の解決策でお手伝いします。それが役に立つかどうかここに新しいコメントを追加してください。 https://stackoverflow.com/questions/17278169/ios-add-button-over-nsattributedstring – krunal
私はステップバイステップを読み、確認します。しかし残念なことに、同じtextViewの中に複数のURLがあることがあります。そのため、リンクの上に透明なボタンを置くと、リンクが混乱することになります。 textViewでリンクを開く際のデフォルト/パターンを変更することはできませんか? –