作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
Apple 今天拒绝了我的应用程序,建议我不应该强制我的用户使用 Safari 访问我的网页。他们建议使用 iOS9 中新增的 SafariWebController。我去寻找指导,只找到了 Swift 教程。
我一直在使用以下内容来启动 Safari,并与一个按钮相关联:
NSURL *url = [NSURL URLWithString:WEBSITE_REGISTRATION_URL];
[[UIApplication sharedApplication] openURL:url];
因此,我将与我们这些尚未使用 Swift 的人分享我的简单配置。
最佳答案
有5个步骤:
点击您的项目目标,然后选择“构建阶段”。在“Build Phases”下,单击“Link Binary with Libraries”旁边的箭头,然后单击加号。在将打开的窗口中搜索 SafariServices。在列表中突出显示它并单击“添加”。
将库导入按钮所在的 .m 文件中:
#import <SafariServices/SafariServices.h>
在您的 .m 文件中定义一个类扩展以符合 Safari VC 协议(protocol):
@interface SKWelcomeViewController () <SFSafariViewControllerDelegate>
实现以下委托(delegate)方法,当需要关闭 Safari View Controller 时将调用该方法:
- (void)safariViewControllerDidFinish:(SFSafariViewController *)controller {
[self dismissViewControllerAnimated:true completion:nil];
}
最后,IBAction 中的代码:
SFSafariViewController *svc = [[SFSafariViewController alloc] initWithURL:url];
svc.delegate = self;
[self presentViewController:svc animated:YES completion:nil];
尽情享受吧!
关于ios - 如何在 Objective-c 中使用 SafariViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34233159/
我是一名优秀的程序员,十分优秀!