这是一个关于 人人微博客的东西 
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.renren = [Renren sharedRenren];
    self.renren.renrenDelegate = self;
       NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray* graphCookies = [cookies cookiesForURL:
                             [NSURL URLWithString:@"http://graph.renren.com"]];
    
    for (NSHTTPCookie* cookie in graphCookies) {
        [cookies deleteCookie:cookie];
    }
    NSArray* widgetCookies = [cookies cookiesForURL:[NSURL URLWithString:@"http://widget.renren.com"]];
    
    for (NSHTTPCookie* cookie in widgetCookies) {
        [cookies deleteCookie:cookie];
    }
    [self.renren authorizationWithPermisson:nil andDelegate:self];
}这样直接写 人人的 OAuth 2.0界面不会 出来 
如果是 这样写 - (void)mainShow{
    NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray* graphCookies = [cookies cookiesForURL:
                             [NSURL URLWithString:@"http://graph.renren.com"]];
    
    for (NSHTTPCookie* cookie in graphCookies) {
        [cookies deleteCookie:cookie];
    }
    NSArray* widgetCookies = [cookies cookiesForURL:[NSURL URLWithString:@"http://widget.renren.com"]];
    
    for (NSHTTPCookie* cookie in widgetCookies) {
        [cookies deleteCookie:cookie];
    }
    [self.renren authorizationWithPermisson:nil andDelegate:self];}- (void)viewDidLoad
{
    [super viewDidLoad];
    self.renren = [Renren sharedRenren];
    self.renren.renrenDelegate = self;
      
    UIButton *test = [[UIButton alloc]initWithFrame:CGRectMake(400, 200, 100, 100) ];
    test.backgroundColor = [UIColor yellowColor];
    [test addTarget:self action:@selector(mainShow) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:test];
}这样写 人人的 OAuth 2.0界面就可以出来 两者区别 紧紧是一个用button点击出来 一个是直接出来 
为什么会造成这样的情况呢?
如果我想让其不点击就出来 应该如何解决呢?http://www.cocoachina.com/bbs/read.php?tid=77033&page=e&#a这是我的链接地址 代码可以下载 希望大家帮帮忙 

解决方案 »

  1.   

    看了一下你的代码,实际上他在执行authorizationWithPermisson 方法时,是将view显示在key window上的。如果你弹出了一个dialog window那么现在的key window就呈现在最上面,所以你现在是看的到的。为什么你加在viewDidload里看不到呢,实际上它是被你的rootView挡住了,所以你可以隐藏当前的view就可以看到它了。- (void)viewDidLoad
    {
       ...
       [self performSelector:@selector(mainShow)];
       [self.view setHidden:YES];
    }