2015-02-11 57 views

回答

6

所以你應該不需要知道任何有關框架。儘管如果您確實需要知道,您可以在視圖中實現-layoutSubviews,或在視圖控制器級別實現-viewDidLayoutSubviews

在調用super之後,應該將幀設置爲AutoLayout將其解析爲的內容。

也是良好的做法,採取的是以下帖子#7:Forget frame

我也強烈推薦閱讀關於AutoLayout流程here

+1

ok我有一個包含另一個視圖的視圖B.而視圖B有圖像。一切都基於自動佈局。那麼似乎我需要繼承UIView B來執行-layouts子視圖?因爲我對作爲視圖B一部分的圖像感興趣,所以我需要通過CALayer將頂角半徑添加到圖像視圖。 – 2015-02-11 23:10:19

+1

如果您只需要爲圖像視圖添加角半徑,則無需擔心幀,只需在視圖A的awakeFromNib或其initWithFrame中執行此操作即可。如果你有一個完整的故事板設置,並且你的視圖都不是自定義的UIView子類,那麼你可以添加一個從視圖B到視圖控制器的插座,並在viewDidLoad中設置圓角半徑。 – Daniel 2015-02-11 23:13:59

+1

雖然如果您忘記了框架,您將如何處理圖層更改?那麼當你處理'CGRect'值時,不一定直接與視圖相關? – BridgeTheGap 2016-06-14 12:21:15