Buscar..


Implementar SFSafariViewControllerDelegate

Debe implementar SFSafariViewControllerDelegate para que se notifique a su clase cuando el usuario presione el botón Hecho en SafariViewController y también puede descartarlo.

Primero declara tu clase para implementar el protocolo.

class MyClass: SFSafariViewControllerDelegate {

}

Implementar el método de delegado para ser notificado en el despido.

func safariViewControllerDidFinish(controller: SFSafariViewController) {
    // Dismiss the SafariViewController when done
    controller.dismissViewControllerAnimated(true, completion: nil)
}

No te olvides de establecer tu clase como el delegado de SafariViewController.

let safariVC = SFSafariViewController(URL: yourURL)
safariVC.delegate = self

Los métodos de delegado adicionales que puede implementar son:

// 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] { }

Agregar artículos a la lista de lectura de Safari

Puede agregar elementos a la Lista de lectura de un usuario en Safari llamando al método addItem en el singleton SSReadingList .

let readingList = SSReadingList.default()
readingList?.addItem(with: yourURL, title: "optional title", previewText: "optional preview text")

La lista de lectura predeterminada puede ser nil si no se permite el acceso a la lista de lectura.

Además, puede verificar si la Lista de lectura admite una URL llamando a supportsURL .

SSReadingList.default().supportsURL(URL(string: "https://example.com")!)

Esto devolverá true o false indicando si la URL dada es compatible con la Lista de lectura de Safari. Use esto, por ejemplo, para determinar si se muestra un botón para agregar una URL a la Lista de lectura.

Abre una URL con SafariViewController

No olvides importar primero el framework necesario.

import SafariServices
//Objective-C
@import SafariServices;

SafariViewController una instancia de 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];

Opcionalmente, también puede decirle a SafariViewController que ingrese al modo de lectura si es posible una vez que haya terminado de cargarse.

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

Presentar el controlador de vista.

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow