iOS
Safaritjänster
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];