我使用單獨的UIView
類,這是從awakeFromNib
開始這是我的自定義類的視圖層次 中,我有自定義視圖添加到contentView
(AwakeFromNib)。我沒有得到如何將我的customView添加爲contentView的子視圖。如何添加UIViews到我的內容查看
這就是我所做的嘗試,我失敗了。
#pragma mark - UINibLoading
-(void)awakeFromNib {
scrollView.translatesAutoresizingMaskIntoConstraints = NO;
[self loadViewIntoMemory];
[self formUpdateDetailsData];
}
#pragma mark - Private
- (void)loadViewIntoMemory {
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil];
[self addSubview:contentView];
}
- (void)formUpdateDetailsData {
for (int i = 1; i < 5; i++) {
inputTextView = [[UIView alloc] initWithFrame:CGRectMake(15, ((i*44)+(i*15)), inputTextView.frame.size.width, 44)];
[contentView addSubview:inputTextView];
}
for (int i = 5; i < 10; i++) {
inputPickerView = [[UIView alloc] initWithFrame:CGRectMake(15, ((i*44)+(i*15)), inputPickerView.frame.size.width, 44)];
[contentView addSubview:inputPickerView];
}
}
你在做什麼在這個類,你如何加載這個類在你的ViewController。同樣在loadViewIntoMemory方法中,你再次加載一個Nib。這個方法會調用awakeFromNib,因此這裏是一個循環。 –
這個類將通過awakeFromNib加載 –
這裏主要的問題是你在調用awakeFromNib的loadViewIntoMemory中調用loadNibNamed。然後awakeFromNib然後調用loadViewIntoMemory等等,這是一個無限循環。測試這個東西在你的方法上放置斷點,然後你會知道這個代碼是如何執行的。 –