ios - 处理两个登录按钮

原文 标签 ios objective-c facebook-graph-api twitter

我的应用程序有一个登录屏幕,它使用 Facebook 登录和 Twitter 登录。我希望它设置为如果使用 Facebook,则通过 Facebook 保存用户数据,如果使用 Twitter,则使用 Twitter 信息。

目前我只是想单独为个人资料图片做一个 if 语句,但它似乎没有按照我想要的方式工作......我正在使用 UIButton 进行 Twitter 登录,并使用 Facebook SDK 中的内置类 FBLoginView用于 Facebook 登录。这是我的 中 if 语句的代码片段LoginViewController.m :

- (void)profilePictureChoose:(id)sender{
    if (sender == TWLoginButton){
        theprofilepicture = twitterprofPicture;
    }
    else if(sender == FBLoginButton){
        theprofilepicture = profPicture;
    }
}

我有与 FBLoginButton 属性链接的 FB 登录按钮,并且 Twitter 的 UIButton 与属性 TWLoginButton 很相似。这两个属性保存在我的登录 View Controller .h 因此:
@property (weak, nonatomic) IBOutlet FBLoginView *FBLoginButton;
@property (strong, nonatomic) IBOutlet UIButton *TWLoginButton;

对于同一个 .h 文件中的个人资料图片,我也有这两个属性:
@property (nonatomic)  UIImage *profPicture;
@property (nonatomic)  UIImage *twitterprofPicture;

头像作为我用来从任何 Controller 访问图片的变量。

我不确定如何让 if 语句正确检查单击了哪个按钮。如果有人可以帮助我,我将不胜感激

最佳答案

简单地给按钮一个标签怎么样?

 FBLoginButton.tag = 1;
 TWLoginButton.tag = 2;

然后修改你的头像方法如下:
- (void)profilePictureChoose:(id)sender{
    if (sender.tag == 1){
        //Facebook button
        theprofilepicture = profPicture;
    }
    else if(sender.tag == 2){
        //Twitter button
        theprofilepicture = twitterprofPicture;
    }
}

试试这个,告诉我这是否对你有帮助,或者它的结果是什么。

关于ios - 处理两个登录按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31274268/

相关文章:

javascript - 为什么指数推送 token 为空

ios - 如何在 UICollectionView 中加载更多对象

objective-c - 将文本字段的值放入另一个字符串

ios - 将用户位置传递给MKMapItem

objective-c - 错误 ITMS-90283 : "Invalid Provisioning Profile"

iphone - NSManagedObject 类对象可以用作模型吗?

ios - handleActionWithIdentifier不起作用

javascript - 使用图形 api 时如何获取 facebook 响应提要的下一部分?

facebook - 检测Facebook用户是否喜欢未经应用程序授权的页面

facebook - 在 FB Graph API 中确定具有 id 的对象类型