Sök…


Implementera SFSafariViewControllerDelegate

Du bör implementera SFSafariViewControllerDelegate så att din klass meddelas när användaren trycker på Klar-knappen på SafariViewController och du kan avvisa den också.

Förklara först din klass att genomföra protokollet.

class MyClass: SFSafariViewControllerDelegate {

}

Implementera delegatmetoden som ska meddelas vid uppsägning.

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

Glöm inte att ställa in din klass som SafariViewControllers delegat.

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

Ytterligare delegatmetoder som du kan implementera är:

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

Lägg till objekt i Safari-läslistan

Du kan lägga till objekt till en användares läslista i Safari genom att anropa addItem metoden på SSReadingList singleton.

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

Standardläslistan kan vara nil om åtkomst till läslistan inte är tillåten.

Dessutom kan du kontrollera om läslistan stöder en URL genom att ringa supportsURL .

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

Detta kommer att returnera antingen true eller false indikerar om den angivna webbadressen stöds av Safari läsningslista. Använd detta till exempel för att avgöra om du vill visa en knapp för att lägga till en URL i läslistan.

Öppna en URL med SafariViewController

Glöm inte att importera nödvändig ram först.

import SafariServices
//Objective-C
@import SafariServices;

Instantiera en SafariViewController instans.

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

Valfritt kan du också säga SafariViewController att gå in i läsläge om möjligt när det är klart att laddningen är klar.

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

Presentera visningskontrollern.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow