【问题标题】:Load UIWebView in background (invisible) on any ViewController在任何 ViewController 上的后台(不可见)加载 UIWebView
【发布时间】:2014-06-28 14:12:24
【问题描述】:

我想在后台加载一个 UIWebView,这样它就不会接受用户的任何输入,也不会让用户看到它。当我需要加载 UIWebView 时,我也不知道用户将处于什么视图中,并且我不想将我的代码复制/粘贴到我所有的 ViewControllers 中。我该怎么做?

【问题讨论】:

  • 您可以尝试只创建 UIWebView 并将内容加载到其中,而不将该视图添加到另一个视图。
  • 由于该视图不会在任何地方加载,我该调用什么方法来调用我的函数? ViewWillAppear 或 DidLoad 对此不起作用
  • 不确定我是否理解您的问题。你的意思是你在哪里创建 UIWebView?这取决于您,具体取决于您希望何时创建它。
  • 这是我的问题的一部分:我不知道何时加载此视图。我有一种方法可以检查是否加载,但我不知道用户在需要时会在哪个视图中。
  • 好吧,如果您不知道何时加载它,我们当然也不能!它被“需要”的标准是什么?虽然我不得不承认我不明白为什么你需要一个不可见的 UIWebView。您可能只想执行一个 HTTP 请求。

标签: ios iphone objective-c uiwebview


【解决方案1】:

我通过调用http 请求解决了这个问题,使用以下方法:

NSURL *url = [NSURL URLWithString:url];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
            if (error)
            {
               NSLog(@"Error,%@", [error localizedDescription]);
            }
            else
           {
              NSLog(@"1");
           }
}];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2016-11-14
    • 2012-10-03
    相关资源
    最近更新 更多