iOS
Safari-Dienstleistungen
Suche…
Implementieren Sie SFSafariViewControllerDelegate
Sie sollten SFSafariViewControllerDelegate
so implementieren, dass Ihre Klasse benachrichtigt wird, wenn der Benutzer auf die Schaltfläche "Fertig" des SafariViewControllers klickt.
Erklären Sie zuerst Ihre Klasse, um das Protokoll zu implementieren.
class MyClass: SFSafariViewControllerDelegate {
}
Implementieren Sie die Delegierungsmethode, die bei der Kündigung zu benachrichtigen ist.
func safariViewControllerDidFinish(controller: SFSafariViewController) {
// Dismiss the SafariViewController when done
controller.dismissViewControllerAnimated(true, completion: nil)
}
Vergessen Sie nicht, Ihre Klasse als Delegat des SafariViewControllers festzulegen.
let safariVC = SFSafariViewController(URL: yourURL)
safariVC.delegate = self
Zusätzliche Delegierungsmethoden, die Sie implementieren können, sind:
// 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] { }
Elemente zur Safari-Leseliste hinzufügen
Sie können der addItem
eines Benutzers in Safari Elemente hinzufügen, indem Sie die addItem
Methode für das SSReadingList
Singleton SSReadingList
.
let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")
Die Standard-Leseliste kann nil
wenn der Zugriff auf die Leseliste nicht zulässig ist.
Zusätzlich können Sie prüfen, ob die Leseliste eine URL supportsURL
indem Sie supportURL aufrufen.
SSReadingList.default().supportsURL(URL(string: "https://example.com")!)
Dies gibt entweder true
oder false
zeigt an, ob die angegebene URL von Safari Reading List unterstützt wird. Verwenden Sie dies beispielsweise, um zu bestimmen, ob eine Schaltfläche angezeigt werden soll, um der Leseliste eine URL hinzuzufügen.
Öffnen Sie eine URL mit SafariViewController
Vergessen Sie nicht, zuerst das notwendige Framework zu importieren.
import SafariServices
//Objective-C
@import SafariServices;
SafariViewController
eine SafariViewController
Instanz.
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];
Optional können Sie SafariViewController auch anweisen, nach dem Laden den Lesemodus zu aktivieren.
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];
Präsentieren Sie den View Controller.
present(safariVC, animated: true, completion: nil)
//Objective-C
[self presentViewController:sfvc animated:YES completion:nil];