サーチ…
SFSafariViewControllerDelegateを実装する
SFSafariViewControllerDelegate
を実装して、ユーザーがSafariViewControllerの完了ボタンを押したときにクラスに通知し、それを却下することもできます。
まず、クラスを宣言してプロトコルを実装します。
class MyClass: SFSafariViewControllerDelegate {
}
解雇時に通知されるデリゲートメソッドを実装します。
func safariViewControllerDidFinish(controller: SFSafariViewController) {
// Dismiss the SafariViewController when done
controller.dismissViewControllerAnimated(true, completion: nil)
}
あなたのクラスをSafariViewControllerのデリゲートとして設定することを忘れないでください。
let safariVC = SFSafariViewController(URL: yourURL)
safariVC.delegate = self
実装できる追加のデリゲートメソッドは次のとおりです。
// Called when the initial URL load is complete.
safariViewController(_ controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) { }
// Called when the user taps an Action button.
safariViewController(_ controller: SFSafariViewController, activityItemsFor URL: URL, title: String?) -> [UIActivity] { }
Safariリーディングリストにアイテムを追加する
SSReadingList
シングルトンでaddItem
メソッドを呼び出すことによって、Safariのユーザーの読み取りリストにアイテムを追加できaddItem
。
let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")
読み取りリストへのアクセスが許可されていない場合、デフォルトの読み取りリストにはnil
指定できます。
さらに、読み取りリストがsupportsURLを呼び出しsupportsURL
URLをサポートしているかどうかを確認できsupportsURL
。
SSReadingList.default().supportsURL(URL(string: "https://example.com")!)
指定されたURLがSafari Reading Listでサポートされているかどうかを示すtrue
またはfalse
を返します。たとえば、これを使用して、リーディングリストにURLを追加するボタンを表示するかどうかを決定します。
SafariViewControllerでURLを開く
最初に必要なフレームワークをインポートすることを忘れないでください。
import SafariServices
//Objective-C
@import SafariServices;
SafariViewController
インスタンスをインスタンス化します。
let safariVC = SFSafariViewController(URL: URL(string: "your_url")!)
//Objective-C
@import SafariServices;
NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com"]];
SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:URL];
必要に応じて、SafariViewControllerに、読み込みが完了したら読み込みモードに入るように指示することもできます。
let safariVC = SFSafariViewController(URL: URL(string: "your_url")!, entersReaderIfAvailable: true)
//Objective-C
NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com"]];
SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:URL entersReaderIfAvailable:YES];
View Controllerを表示します。
present(safariVC, animated: true, completion: nil)
//Objective-C
[self presentViewController:sfvc animated:YES completion:nil];
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow