我在ios中以编程方式创建了我的UI元素。所有iphone的所有东西都很好,但我的按钮变得拉伸。
up'
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such function: now: UPDATE members SET created_at = now() WHERE created_at is NULL
/home/siva/Siva/Clone/gitlabhq/db/migrate/20141121133009_add_timestamps_to_members.rb:8:in
这就是我创建按钮的方式。我知道在界面构建器中我们可以使用自动布局。但是,如何以编程方式向此按钮添加约束?
因为现在按钮宽度根据屏幕尺寸而变化,尽管左右边缘是固定的。如何根据设备避免元素streatching,并且我想在按钮和父视图边框之间管理左右两侧之间的相同间隙。
我该怎么做?请帮我 感谢
答案 0 :(得分:3)
这就是你想要的
UIButton * button = [[UIButton alloc] init];
button.backgroundColor = [UIColor redColor];
[self.view addSubview:button];
NSDictionary * buttonDic = NSDictionaryOfVariableBindings(button);
button.translatesAutoresizingMaskIntoConstraints = NO;
NSArray * hConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-80-[button]-80-|"
options:0
metrics:nil
views:buttonDic];
[self.view addConstraints:hConstraints];
NSArray * vConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[button(40)]-90-|"
options:0
metrics:nil
views:buttonDic];
[self.view addConstraints:vConstraints];
截图 iphone 6
iPhone 6p
更新
H:| -80- [按钮] -80- | ,这在水平创建约束,按钮左右按钮保持为80
" V:[按钮(40)] - 90- |" ,这会在垂直方向创建约束,按钮高度保持为40,底部到超级视图底部保持为90