5

SFSafariViewControllerはセットアップパラメータとして特定のURLを使ってプログラムでインスタンス化する必要があることがドキュメントとすべての例からわかりました。 UISplitViewControllerの詳細コントローラとしてSFSafariViewControllerを使用することは可能ですか?私がこれを行うために考えることができる唯一の方法は、ストーリーボードにセグを設定することですが、その場合、SFSafariViewControllerはコンテンツを表示するのに必要なURLを持っていません。可能であれば、プログラマチックにこれを達成する方法に関するアドバイスをいただければ幸いです。SFSafariViewControllerは、どのようにしてUISplitViewControllerの詳細コントローラとして設定できますか?

答えて

5

可能です!私は長い間検索してきましたが、解決策を見つけました。 私はメインビューコントローラ、テーブルビューコントローラでそれをやっています。 テーブルビューのセルを選択すると、SafariViewControllerが詳細ビューで開きます。

let safariViewController = SFSafariViewController(URL: NSURL(String: "http://google.com")) 
self.showDetailViewController(safariViewController, sender: nil) 

結果:Safari View Controller Detail

それはいくつかの問題が付属しています。

  • あなたはこのUIのバグを回避するためのiOS 9.1以上を使用する必要があります。UI Bug Safari View Controller

  • あなたは、ナビゲーションバーを非表示にする必要がありますが、URLで(標準サファリ・ビュー・コントローラバーを表示したい場合は、... )

+0

さらなるヘルプが必要な場合は、躊躇しないでください。私の解決策は動作し、私は現時点でそれを使用しています:) –

+0

この場合、完了したボタンを隠すのにとに​​かくありますか?または 'displayModeButtonItem'と置き換えますか? – Mojtaba

関連する問題