iOS
Servizi Safari
Ricerca…
Implementare SFSafariViewControllerDelegate
È necessario implementare SFSafariViewControllerDelegate
modo che la classe venga notificata quando l'utente preme il pulsante Fine su SafariViewController e si può anche ignorarlo.
Prima dichiari la tua classe per implementare il protocollo.
class MyClass: SFSafariViewControllerDelegate {
}
Implementare il metodo delegato da notificare in caso di licenziamento.
func safariViewControllerDidFinish(controller: SFSafariViewController) {
// Dismiss the SafariViewController when done
controller.dismissViewControllerAnimated(true, completion: nil)
}
Non dimenticare di impostare la classe come delegato di SafariViewController.
let safariVC = SFSafariViewController(URL: yourURL)
safariVC.delegate = self
Ulteriori metodi delegati che puoi implementare sono:
// 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] { }
Aggiungi elementi all'elenco di lettura di Safari
È possibile aggiungere elementi all'elenco di lettura di un utente in Safari chiamando il metodo addItem
sul singleton SSReadingList
.
let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")
L'Elenco di lettura predefinito può essere nil
se l'accesso all'Elenco di lettura non è consentito.
Inoltre è possibile verificare se l'Elenco di lettura supporta un URL chiamando supportsURL
.
SSReadingList.default().supportsURL(URL(string: "https://example.com")!)
Ciò restituirà true
o false
indicando se l'URL indicato è supportato da Elenco di lettura di Safari. Ad esempio, per determinare se mostrare un pulsante per aggiungere un URL alla lista di lettura.
Apri un URL con SafariViewController
Non dimenticare di importare prima il framework necessario.
import SafariServices
//Objective-C
@import SafariServices;
SafariViewController
un'istanza di un'istanza di 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];
Opzionalmente puoi anche dire a SafariViewController di entrare in modalità di lettura, se possibile, una volta completato il caricamento.
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];
Presenta il controller della vista.
present(safariVC, animated: true, completion: nil)
//Objective-C
[self presentViewController:sfvc animated:YES completion:nil];