我的UITableView
中有2 UIViewController
。其中一个位于屏幕右侧,直到屏幕中心。另一个是从中心到左边。
用户可以通过按导航栏上的一个按钮隐藏右UITableview
。
我使用此代码使左UITableview
全屏:
self.rightTableView.hidden= YES;
self.leftTable.frame= CGRectMake(0,
self.dataTableView.frame.origin.y,
self.view.frame.size.width,
self.dataTableView.frame.size.height);
但它没有用。
我甚至将此代码放在viewdidload
和viewDidAppear
方法上,但框架不会更改。
答案 0 :(得分:14)
尝试self.leftTable.translatesAutoresizingMaskIntoConstraints = YES
,然后在运行时调用帧大小调整会自动转换为新约束。
但是,translatesAutoresizingMaskIntoConstraints也会根据视图的autoresizingMask添加新的约束。因此,请确保其他约束正常工作。
答案 1 :(得分:11)
使用自动布局时,修改框架无效。
相反,您应该修改约束。
您可以通过为约束创建出口并在界面构建器中进行连接来完成此操作。