如何用Swift更改按钮的高度?
问题描述:
根据屏幕的高度,我想调整视图中按钮的高度。在Swift中最简单的方法是什么?如何用Swift更改按钮的高度?
我尝试了这种方式,并与CGRectMake()
但什么都没有改变:
self.myButton.frame.size.height = self.myButton.frame.size.height*scrOpt
我如何“更新”的框架?
答
您看不到更改的原因可能是因为您使用的是AutoLayout,并且该按钮应用了一些约束,您需要更改高度约束以完成所需操作。
编辑:更改相框性能直接似乎是可能的,但斯威夫特是不可能的目的C.
答
如果您正在使用自动布局,则需要更新它的高度约束,否则更新其框架
NSLog(@"%@",NSStringFromCGRect(self.myButton.frame));
NSLog(@"%f",scrOpt);
self.myButton.frame = CGRectMake(self.myButton.frame.origin.x, self.myButton.frame.origin.y, self.myButton.frame.size.width, self.myButton.frame.size.height*scrOpt)
NSLog(@"%@",NSStringFromCGRect(self.myButton.frame));
编辑检查这一点,看看是打印NSLog
+0
这是我之前尝试的,但没有任何改变。 – Cuno
+0
@Cuno检查我编辑的答案 –
'self.myButton.frame = CGRectMake(self.myButton.frame.origin.x,self.myButton.frame.origin.y,self.myButton .frame..size.w宽度,self.myButton.frame.size.height * scrOpt)' –
如果您使用自动布局,则需要更新其高度约束,否则更新其框架。 –
请参阅http://stackoverflow.com/a/16406097/790842。正如@YogeshSuthar所说的,你必须使用AutoLayout,而在AutoLayout中更改框架不起作用,你需要处理约束。 – iphonic