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];


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow