0
我在界面構建器中爲視圖創建了一個筆尖。它的子視圖放置的約束條件是它們將按照視圖框架的大小進行縮放。UIView的子視圖渲染範圍
我使用一個輔助方法從其筆尖初始化視圖:
+ (TinyTestResultsView *)ttrView {
TinyTestResultsView *ttrV = [[[NSBundle mainBundle] loadNibNamed:@"TinyTestResultsViewNib" owner:nil options:nil] firstObject];
[ttrV commonInit];
return ttrV;
}
在一個視圖控制器的viewDidLoad
,我初始化對象使用ttrView
方法和將其添加爲子視圖self.view
。然後VC向網絡發出呼叫以獲取一些信息,然後根據需要將約束添加到self.view
和子視圖中以放置它。它被正確放置大小&大小 - 但是該視圖顯示爲沒有子視圖的白色框。 爲什麼子視圖在視圖之外渲染?
如果我在Xcode中使用Debug View Hierarchy,然後嘗試查找子視圖,我發現它們在框架外渲染,並且它們不符合NIB中的自動佈局規則。我使用這個完全相同的技術爲不同的自定義UIView /筆尖,所以我不知道什麼可能會發生錯誤。
我有'self.translatesAutoresizingMaskIntoConstraints = NO;'in'commonInit' – jdelman
你有沒有警告與nib文件中的這個視圖的約束有關? – curious
在預覽中嘗試[看](http://cdn3.raywenderlich.com/wp-content/uploads/2014/12/Screen-Shot-2015-09-05-at-1.39.09-PM.png)筆尖文件(如果你還沒有這樣做)。視圖的佈局是否正確? – curious