2
所以,我创建了一个UIViewController子类与两个元素:标题UIView和它下面的UITableView。编程布局约束导致旋转不调整基地UIView
----------------
||------------||
||Header View ||
||------------||
||------------||
|| Table View ||
|| ||
|| ||
|| ||
||------------||
----------------
我加入约束在init代码页眉视图和表视图如下:
- (void)setupHeaderView
{
self.headerView.backgroundColor = [UIColor whiteColor];
self.headerViewTopConstraint = [NSLayoutConstraint constraintWithItem:self.headerView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:0.0];
self.headerViewLeadingConstraint = [NSLayoutConstraint constraintWithItem:self.headerView
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeLeading
multiplier:1.0
constant:0.0];
self.headerViewTrailingConstraint = [NSLayoutConstraint constraintWithItem:self.headerView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTrailing
multiplier:1.0
constant:0.0];
self.headerViewHeightConstraint = [NSLayoutConstraint constraintWithItem:self.headerView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:HeaderViewHeight];
}
- (void)setupTableView
{
self.tableViewTopConstraint = [NSLayoutConstraint constraintWithItem:self.tableView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.headerView
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:0.0];
self.tableViewLeadingConstraint = [NSLayoutConstraint constraintWithItem:self.tableView
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeLeading
multiplier:1.0
constant:0.0];
self.tableViewTrailingConstraint = [NSLayoutConstraint constraintWithItem:self.tableView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTrailing
multiplier:1.0
constant:0.0];
self.tableViewBottomConstraint = [NSLayoutConstraint constraintWithItem:self.tableView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:0.0];
}
这两个视图被添加到self.view和由呼叫被preceeded:
self.view.translatesAutoresizingMaskIntoConstraints = NO;
但是,主要问题是,加载此视图并旋转设备/模拟器时,视图将保持其纵向框架并保持其原点,以使设备窗口处于水平状态, W帧仍是其肖像帧,导致它被屏幕之外,并具有一个空白的黑色空间旁边:提供
如何维护传播到上海华方位的变化,并在其后的子视图?
....我觉得自己像一个白痴....这工作。谢谢。如果您发表评论,我会将其标记为已回答。 –