デフォルトでは、ユーザーが認証されているかどうかにかかわらず、FBLoginView は「ログイン」または「ログアウト」を表示します。
ユーザーが認証されている場合、FBLoginView を非表示にしたい。どうやってやるの?ユーザーが認証されているかどうかを確認するにはどうすればよいですか?
ありがとう
デフォルトでは、ユーザーが認証されているかどうかにかかわらず、FBLoginView は「ログイン」または「ログアウト」を表示します。
ユーザーが認証されている場合、FBLoginView を非表示にしたい。どうやってやるの?ユーザーが認証されているかどうかを確認するにはどうすればよいですか?
ありがとう
編集: フレームを移動する前に、次のいずれかを試してください。
loginview.hidden = YES;
また
[loginview setHidden:YES];
HelloFacebookSample を使用して、FBLoginView フレームを画面の外に移動するだけです。デリゲート メソッドは、ユーザーがログインからログアウト (およびその逆) に変更された場合に起動します。
- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
// first get the buttons set for login mode
NSLog(@"FB logged in - token expiration: %@",[[FBSession activeSession] accessTokenData].expirationDate);
//User logged in. Move FBLoginView off the screen
loginview.frame = CGRectOffset(loginview.frame, 5, -100);
self.buttonPostPhoto.enabled = YES;
self.buttonPostStatus.enabled = YES;
self.buttonPickFriends.enabled = YES;
self.buttonPickPlace.enabled = YES;
// "Post Status" available when logged on and potentially when logged off. Differentiate in the label.
[self.buttonPostStatus setTitle:@"Post Status Update (Logged On)" forState:self.buttonPostStatus.state];
}
- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView {
//User logged off. Move FBLoginView back within view
loginview.frame = CGRectOffset(loginview.frame, 5, 5); // test to see if we can use the share dialog built into the Facebook application
FBShareDialogParams *p = [[FBShareDialogParams alloc] init];
p.link = [NSURL URLWithString:@"http://developers.facebook.com/ios"];
#ifdef DEBUG
[FBSettings enableBetaFeatures:FBBetaFeaturesShareDialog];
#endif
BOOL canShareFB = [FBDialogs canPresentShareDialogWithParams:p];
BOOL canShareiOS6 = [FBDialogs canPresentOSIntegratedShareDialogWithSession:nil];
self.buttonPostStatus.enabled = canShareFB || canShareiOS6;
self.buttonPostPhoto.enabled = NO;
self.buttonPickFriends.enabled = NO;
self.buttonPickPlace.enabled = NO;
// "Post Status" available when logged on and potentially when logged off. Differentiate in the label.
[self.buttonPostStatus setTitle:@"Post Status Update (Logged Off)" forState:self.buttonPostStatus.state];
self.profilePic.profileID = nil;
self.labelFirstName.text = nil;
self.loggedInUser = nil;
}
FBLoginView *loginview
この例では、ヘッダー ファイルで宣言する必要があります。