问一个 小弟我百思不得其解的有关问题 高手来帮帮忙吧
问一个 我百思不得其解的问题 高手来帮帮忙吧
这是一个关于 人人微博客的东西
- (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
这是我的链接地址 代码可以下载 希望大家帮帮忙
------解决方案--------------------
看了一下你的代码,实际上他在执行authorizationWithPermisson 方法时,是将view显示在key window上的。
如果你弹出了一个dialog window那么现在的key window就呈现在最上面,所以你现在是看的到的。
为什么你加在viewDidload里看不到呢,实际上它是被你的rootView挡住了,所以你可以隐藏当前的view就可以看到它了。
- (void)viewDidLoad
{
...
[self performSelector:@selector(mainShow)];
[self.view setHidden:YES];
}
这是一个关于 人人微博客的东西
- (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
这是我的链接地址 代码可以下载 希望大家帮帮忙
------解决方案--------------------
看了一下你的代码,实际上他在执行authorizationWithPermisson 方法时,是将view显示在key window上的。
如果你弹出了一个dialog window那么现在的key window就呈现在最上面,所以你现在是看的到的。
为什么你加在viewDidload里看不到呢,实际上它是被你的rootView挡住了,所以你可以隐藏当前的view就可以看到它了。
- (void)viewDidLoad
{
...
[self performSelector:@selector(mainShow)];
[self.view setHidden:YES];
}