如何在iOS中将FBlogin的不同委托分配给两个不同的视图控制器

如何在iOS中将FBlogin的不同委托分配给两个不同的视图控制器,ios,objective-c,facebook,delegates,facebook-ios-sdk,Ios,Objective C,Facebook,Delegates,Facebook Ios Sdk,我有两个视图控制器,一个使用FBLoginView及其委托,它们在同一个类中处理。但是,我有另一个viewcontroller,它使用自定义按钮启动FBLogin,因此我无法将委托分配给此类。当FBLogin成功时,会在第一视图控制器中进行委托调用。我想为second view controller单独处理事件。例如:第一个视图控制器是具有FBLogin默认视图的登录,第二个视图控制器是具有自定义按钮的注册,并实现FBSession方法,以便登录Facebook应用程序或safari移动网站。如

我有两个视图控制器,一个使用
FBLoginView
及其委托,它们在同一个类中处理。但是,我有另一个
viewcontroller
,它使用自定义按钮启动
FBLogin
,因此我无法将委托分配给此类。当
FBLogin
成功时,会在第一视图控制器中进行委托调用。我想为second view controller单独处理事件。例如:第一个视图控制器是具有
FBLogin
默认视图的登录,第二个视图控制器是具有自定义按钮的注册,并实现
FBSession
方法,以便登录Facebook应用程序或safari移动网站。如何实现在注册页面中单独调用的login-delegates方法,以便对该页面进行精细的视图处理

注册页面按钮操作中的代码为:

// If the session state is any of the two "open" states when the button is clicked
if (FBSession.activeSession.state == FBSessionStateOpen
    || FBSession.activeSession.state == FBSessionStateOpenTokenExtended) {

    // Close the session and remove the access token from the cache
    // The session state handler (in the app delegate) will be called automatically
    [FBSession.activeSession closeAndClearTokenInformation];

    // If the session state is not any of the two "open" states when the button is clicked
} else {
    // Open a session showing the user the login UI
    // You must ALWAYS ask for public_profile permissions when opening a session
    [FBSession openActiveSessionWithReadPermissions:@[@"public_profile",@"email"]
                                       allowLoginUI:YES
                                  completionHandler:
     ^(FBSession *session, FBSessionState state, NSError *error) {
}
这里的
allowLoginUI
设置为
YES
,这样它就可以重定向到Facebook的登录

对于登录页面,代码为:

self.loginButton.delegate = self;
self.loginButton.readPermissions = @[@"public_profile", @"email"];
因此,即使我从注册中调用按钮操作,也会在登录页面中调用这些代理

-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user{
}
-(void)loginView蚀刻教育信息:(FBLoginView*)loginView用户:(id)用户{
}

r您在登录和注册页面中尝试Facebook登录显示您的登录页面和注册页面编码,在问题中添加代码。编辑问题。自定义内容,无需使用注册页面na中的自定义按钮登录ViewFetchedUserInfo bz u r,如果是,请使用此链接