我正在尝试添加facebook按钮。
由于您无法从界面构建器拖放Facebook按钮,因此需要以编程方式进行。
我添加了一个没有文字的虚拟按钮,并尝试将其约束分配给facebook按钮。它适用于10.1模拟器,但是当我在8.3模拟器上测试它没有。我不知道我做错了什么?
- (void)viewDidLoad
{
[super viewDidLoad];
facebookLoginButton = [[FBSDKLoginButton alloc] init];
[self.view addSubview:facebookLoginButton];
}
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
facebookLoginButton.frame = dummyButton.frame;
}
ios 8.3显示了屏幕原点的facebook登录按钮
ios 10.1在右侧按钮上显示Facebook登录按钮,该按钮与虚拟按钮位置匹配。
答案 0 :(得分:1)
直接设置对象frame
并不是使用自动布局。自动布局使用约束,以编程方式添加视图将导致添加隐式约束,除非您将translatesAutoResizingMaskIntoConstraints
设置为false
。
自动布局将在下次重新计算布局时覆盖框架。
但是,您可以直接在Interface Builder中轻松添加按钮; FBSDKLoginButton
继承自FBSDKButton
继承的UIButton
。
您只需在Interface Builder中添加UIButton,然后将其自定义类设置为FBSDKLoginButton