0

デフォルトでは、ユーザーが認証されているかどうかにかかわらず、FBLoginView は「ログイン」または「ログアウト」を表示します。

ユーザーが認証されている場合、FBLoginView を非表示にしたい。どうやってやるの?ユーザーが認証されているかどうかを確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

編集: フレームを移動する前に、次のいずれかを試してください。

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この例では、ヘッダー ファイルで宣言する必要があります。

于 2013-07-26T21:07:54.840 に答える