iOS
Услуги Safari
Поиск…
Внедрение 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
Вы можете добавлять элементы в список пользователя для чтения в Safari, вызвав addItem
метод на SSReadingList
одноплодного.
let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")
Список Чтения по умолчанию может быть равен nil
если доступ к списку чтения не разрешен.
Кроме того, вы можете проверить, поддерживает ли список чтения URL-адрес, вызывая supportsURL
.
SSReadingList.default().supportsURL(URL(string: "https://example.com")!)
Это вернет либо true
либо false
указывая, поддерживается ли данный URL в списке чтения Safari. Используйте это, например, чтобы определить, показывать ли кнопку для добавления URL-адреса в список чтения.
Открыть URL-адрес с помощью SafariViewController
Не забудьте сначала импортировать необходимые рамки.
import SafariServices
//Objective-C
@import SafariServices;
SafariViewController
экземпляр экземпляра 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];
Представить контроллер вида.
present(safariVC, animated: true, completion: nil)
//Objective-C
[self presentViewController:sfvc animated:YES completion:nil];