2016-02-27 71 views
0

我是attempting to change the size of a UIView,我已將其放置在Storyboard中。由於某些原因,size does not change但仍與故事板上繪製的相同。我沒有迷上Autolayout,所以這不能成爲它保持不變的原因。我的代碼:通過編程方式更改Storyboard上的UIView的大小

@IBOutlet weak var courseView: CourseView! // CourseView is a UIView 

override func viewWillAppear(animated: Bool) { 
    courseView.frame = CGRectMake(0, 0, 200, 200) // This is just to test! 
} 

我也在viewDidLoad()做過同樣的事情,但沒有成功。有任何想法嗎?

+0

您正在使用'auto layout'嗎?在superview我的意思是 –

回答

0

Acording這個answer

的方法viewWillAppear:viewDidLoad:沒有佈局信息。當稍後調用viewDidLayoutSubviews:時,此處所做的任何佈局更改都將丟失。

如果您正在使用自動佈局,你不能在任何時候改變約束,但如果你不使用自動佈局需要@viewDidLayoutSubviews:或視圖後更新佈局的實際變化會發生@viewDidLayoutSubviews:

(@viewDidAppear:或用戶輸入)

+0

完美的作品,謝謝!我發現viewDidLayoutSubviews()實際上效果更好,因爲沒有時間延遲。如果在viewDidAppear()中調用,原始視圖會閃爍起來,然後只會繪製調整後的視圖。 – Pete

相關問題