OGeek|极客世界-中国程序员成长平台

标题: iphone - Foursquare API UIWebView [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 03:56
标题: iphone - Foursquare API UIWebView

按照此处的建议“https://developer.foursquare.com/overview/auth”,我在 web View 中获取访问 token ,然后在获取访问 token 后关闭浏览器:

- (void)webViewDidFinishLoadUIWebView *)webView {
    NSString *URLString = [[self.webView.request URL] absoluteString];
    NSLog(@"--> %@", URLString);
    if ([URLString rangeOfString"access_token="].location != NSNotFound) {
        NSString *accessToken = [[URLString componentsSeparatedByString"="] lastObject];
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:accessToken forKey"access_token"];
        [defaults synchronize];
        [self.webView removeFromSuperview];

    }

}

类似的例子“https://github.com/anoopr/core-data-talk/blob/master/example/Classes/FoursquareAuthViewController.m

但是,一旦我删除了 webview,我就会得到一个黑屏。这是有道理的,因为我不再有观点了。但我可能应该做一些类似 [self.view addSubview:self.Anotherview] 的事情,我不确定另一个 View 应该是什么。我可以继续使用另一个 ViewController 吗?

我对 IOS 还很陌生,因此我们将不胜感激。



Best Answer-推荐答案


从 View 中移除 UIWebView 后,你可以放置任何你想要的东西。例如,如果你只想显示一张 map ,你可以添加一个 map View ,或者更简单,如果你使用界面构建器,你可以在顶部有一个 map View 和一个 web View ,删除 web View 将离开你与 map View 。但是,如果您在 Web View 的 View Controller (您放置 Web View 的 View Controller )上拥有的内容与您在获得访问 token 后试图实现的目标无关,那么最干净的方法就是将访问 token 存储在某处否则(例如 App 委托(delegate)类)对另一个 View Controller 执行 segue,并从那里使用 token 来满足您的需要。您甚至不需要处理从 super View 中删除 Web View ,您已经离开该 View Controller 并继续使用另一个 View Controller 。特别是,当你是初学者时,只要你会使用 Storyboard、segues 和 NIB,就可以使用它们,尝试在 Interface Builder 中直观地做一些事情,而不是尝试删除/添加 View / View Controller (是的,也可以) 在代码中。

关于iphone - Foursquare API UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869605/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4