Iphone 如何使我的方法在视图重新加载时运行
我想创建一个登录按钮。当我点击facebook启动时,我接受我的应用程序,facebook应用程序关闭,我的应用程序重新加载。我的问题是,当我的应用程序在Facebook上接受后第二次启动时,我找不到在哪里禁用登录按钮 我写了这段代码:Iphone 如何使我的方法在视图重新加载时运行,iphone,objective-c,facebook,Iphone,Objective C,Facebook,我想创建一个登录按钮。当我点击facebook启动时,我接受我的应用程序,facebook应用程序关闭,我的应用程序重新加载。我的问题是,当我的应用程序在Facebook上接受后第二次启动时,我找不到在哪里禁用登录按钮 我写了这段代码: -(IBAction) login:(id)sender; { AutoAppDelegate *delegate = (AutoAppDelegate *) [[UIApplication sharedApplication] delegate];
-(IBAction) login:(id)sender;
{
AutoAppDelegate *delegate = (AutoAppDelegate *) [[UIApplication sharedApplication] delegate];
// Check and retrieve authorization information
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
[delegate facebook].accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
[delegate facebook].expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![[delegate facebook] isSessionValid]) {
[delegate facebook].sessionDelegate = self;
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"read_stream",
nil];
[[delegate facebook] authorize:permissions];
} else {
logIn.hidden=YES;
lbl.text=@"";
lbl.text=@"Connected";
[self showLoggedIn];
}
}
- (void) showLoggedIn {
NSLog(@"11 Logged In ");
lbl.text=@"";
lbl.text=@"Connected";
}
- (void) showLoggedOut {
NSLog(@"11 Not Logged In ");
lbl.text=@"";
lbl.text=@"Not Connected";
}
- (void) viewWillAppear:(BOOL)animated
{
//[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
AutoAppDelegate *delegate = (AutoAppDelegate *) [[UIApplication sharedApplication] delegate];
// Check and retrieve authorization information
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
[delegate facebook].accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
[delegate facebook].expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![[delegate facebook] isSessionValid]) {
// [self showLoggedOut];
NSLog(@"Not Connected");
} else {
// [self showLoggedIn];
NSLog(@"Connected");
}
}
viewwillbeen
第一次工作,但是当我在Facebook应用程序中授予权限时,我的应用程序会重新启动,但不是viewwillbeen
方法 你是否尝试在Facebook操作完成后调用setNeedsDisplay在视图上显示?你需要将代码放入你的应用程序委托(ApplicationWilenterForeground
),因为这是在应用程序重新打开时自动收到通知的唯一方法(你的视图不一定被重新绘制)