我有一些奇怪的錯誤,我找不到解決方案。UITableView調整自動佈局旋轉
我有UITableView使用自動佈局。 (在所有4邊對齊父母)。 如果我旋轉設備,它會得到正確的渲染,但如果我嘗試滾動它在屏幕左側滾動。
紅色廣場上滾動區域。
我假設的下一個問題是,當我試圖將UIView作爲子視圖添加到UITableView時,這個問題就與這個問題有關。
如果我添加:
CGRect frame = CGRectMake(0, 200, self.table.frame.size.width, 5);
UIView * mainView = [[UIView alloc]initWithFrame:frame];
mainView.backgroundColor = [UIColor redColor];
[self.table addSubview:mainView];
是好的,但如果我不喜歡:
UIView * mainView = [[UIView alloc]init];
mainView.backgroundColor = [UIColor redColor];
mainView.translatesAutoresizingMaskIntoConstraints = NO;
[self.table addSubview:mainView];
[self.table addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(200)-[mainView(20)]" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(_table, mainView)]];
[self.table addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[mainView]|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(_table, mainView)]];
越來越吶錯誤:
*** Assertion failure in -[UITableView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2903.23/UIView.m:8540
你可以給你的視圖添加不同的顏色,並在表格視圖中添加它,看看它如何在橫向模式下呈現? – jailani
是的,原來我畫的是紅色的視圖,我只是沒有複製那部分代碼:D –
添加的視圖應該隱藏你的表格視圖。我不知道你用的是什麼目的。無論如何,你可能打算這麼做。但我的建議是,您可以將主視圖添加爲UITableView的頁腳視圖。我認爲它可以給一個解決方案.. – jailani