根據屏幕的高度,我想調整視圖中按鈕的高度。在Swift中最簡單的方法是什麼?如何用Swift更改按鈕的高度?
我嘗試了這種方式,並與CGRectMake()
但什麼都沒有改變:
self.myButton.frame.size.height = self.myButton.frame.size.height*scrOpt
我如何「更新」的框架?
根據屏幕的高度,我想調整視圖中按鈕的高度。在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
這是我之前嘗試的,但沒有任何改變。 – Cuno
@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