objective-c - 如何自定义FBLoginVIew?

标签 objective-c ios facebook facebook-login facebook-ios-sdk

为了在我的 ios 应用程序中连接到 facebook,我使用来自 Facebook SDK for iOS 的 FBLoginVIew .

它显示了一个漂亮的 FB 登录按钮,但我想使用我自己的图像和文本作为登录按钮。 问题是我在任何地方都看不到如何自定义它。

我已经设法通过覆盖 FacebookSDKResources.bundle/FBLoginView/images 中的图像来更改登录按钮背景图像,但我找不到更改登录按钮文本和位置的位置,因此它保持“登录” ...

解决方案,有人吗?

谢谢

最佳答案

答案是遍历 FBLoginView subview ,找到按钮和标签并自定义它们。

代码如下:

FBLoginView *loginview = 
[[FBLoginView alloc] initWithPermissions:[NSArray arrayWithObject:@"publish_actions"]];


loginview.frame = CGRectMake(4, 95, 271, 37);
for (id obj in loginview.subviews)
        {
            if ([obj isKindOfClass:[UIButton class]])
            {
                UIButton * loginButton =  obj;
                UIImage *loginImage = [UIImage imageNamed:@"YourImg.png"];
                [loginButton setBackgroundImage:loginImage forState:UIControlStateNormal];
                [loginButton setBackgroundImage:nil forState:UIControlStateSelected];
                [loginButton setBackgroundImage:nil forState:UIControlStateHighlighted];
                [loginButton sizeToFit];
            }
            if ([obj isKindOfClass:[UILabel class]])
            {
                UILabel * loginLabel =  obj;
                loginLabel.text = @"Log in to facebook";
                loginLabel.textAlignment = UITextAlignmentCenter;
                loginLabel.frame = CGRectMake(0, 0, 271, 37);
            }
        }

loginview.delegate = self;

[self.view addSubview:loginview];

关于objective-c - 如何自定义FBLoginVIew?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280850/

相关文章:

ios - 设置图像背景,无需重复

ios - 使用从 NSURLConnection 检索到的数据填充 UITableView

objective-c - CALayer frame origin.y翻转了,0在最下面?

facebook - 如何获取 fb :app_id for facebook meta

ios - 滚动后 UICollectionView 不会保持选中状态

ios - 将数据嵌套到 firebase 中的每个 UID

iOS-UIPageViewController 'Failed to determine navigation direction'

ios - 在 swift 项目中混淆字符串常量 secret

php - Facebook 好友过滤数据库记录的最佳方式是什么?

ruby-on-rails - 在 facebook 上与 youtube 视频分享我的页面不显示缩略图