iOS
Usługi Safari
Szukaj…
Zaimplementuj SFSafariViewControllerDelegate
Powinieneś wdrożyć SFSafariViewControllerDelegate
, aby twoja klasa była powiadamiana, gdy użytkownik naciśnie przycisk Gotowe na SafariViewController, i możesz ją również odrzucić.
Najpierw zadeklaruj swoją klasę do wdrożenia protokołu.
class MyClass: SFSafariViewControllerDelegate {
}
Wdrożenie metody przekazania, która ma być powiadamiana o zwolnieniu.
func safariViewControllerDidFinish(controller: SFSafariViewController) {
// Dismiss the SafariViewController when done
controller.dismissViewControllerAnimated(true, completion: nil)
}
Nie zapomnij ustawić swojej klasy jako delegata SafariViewController.
let safariVC = SFSafariViewController(URL: yourURL)
safariVC.delegate = self
Dodatkowe metody delegowania, które można wdrożyć, to:
// 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] { }
Dodaj elementy do listy czytelniczej Safari
Możesz dodać elementy do lektury listy użytkownika w Safari wywołując addItem
metodę na SSReadingList
Singleton.
let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")
Domyślna lista czytania może być nil
jeśli dostęp do listy czytania nie jest dozwolony.
Dodatkowo można sprawdzić, czy lektury obsługuje URL poprzez wywołanie supportsURL
.
SSReadingList.default().supportsURL(URL(string: "https://example.com")!)
Zwróci to wartość true
lub false
wskazując, czy dany adres URL jest obsługiwany przez listę czytelniczą Safari. Użyj tego na przykład, aby ustalić, czy pokazać przycisk, aby dodać adres URL do listy czytelniczej.
Otwórz adres URL za pomocą SafariViewController
Nie zapomnij najpierw zaimportować niezbędnych ram.
import SafariServices
//Objective-C
@import SafariServices;
SafariViewController
instancję 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];
Opcjonalnie możesz także nakazać SafariViewController przejście do trybu czytania, jeśli to możliwe po zakończeniu ładowania.
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];
Przedstaw kontroler widoku.
present(safariVC, animated: true, completion: nil)
//Objective-C
[self presentViewController:sfvc animated:YES completion:nil];