Поиск…


Внедрение 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];


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow