打开网址并留在应用程序中

时间:2016-06-09 08:37:29

标签: ios objective-c

我想打开应用程序中的任何网址并像在Skype中一样留在应用程序中。它用"完成"打开野生动物园页面。左上角的按钮,但你仍然在Skype.Can任何人都可以帮助我吗? Example

3 个答案:

答案 0 :(得分:4)

您展示的示例是使用SFSafariViewController。这将在您的应用中显示Safari,此类可在iOS 9或更高版本中使用。

如果您计划支持低于iOS 9的版本,则可以使用此类支票:

if ([SFSafariViewController class]) {
    SFSafariViewController *viewController = [[SFSafariViewController alloc] initWithURL:url];
    [self presentViewController:viewController animated:YES completion:nil];
} else {
    WebViewController *viewController = [[WebViewController alloc] init];
    viewController.url = url;
    [self presentNavigationControllerWithViewController:viewController animated:YES completion:nil];
}

此处WebViewController只是一个带有UIWebView的视图控制器,用于加载页面。您可以创建自己的工具栏,例如SFSafariViewController,以便在Safari中返回/转发或打开。

答案 1 :(得分:0)

您只需使用SFSafariViewController即可。这是实现您想要的最简单方法。我相信Skype正是如此。您可以将其放在UINavigationController或其他任何容器视图控制器

SFSafariViewController

答案 2 :(得分:0)

如果您想在应用中打开任何网页,

创建UIViewController子类并按照步骤

  1. 为网址添加属性(NSString或NSURL)
  2. 在导航栏上添加“完成”按钮(点击时关闭视图控制器)
  3. 添加UIWebView
  4. 在viewDidAppear
  5. 中的WebView中加载请求

    从其他ViewController打开页面:

    WebViewController *webVC=[self.storyboard instantiateViewControllerWithIdentifier:@"WebViewControllerIdentifier"];
    webVC.url=@"http://example.com";
    
    
    [self presentViewController:webVC animated:YES completion:nil];