uitableview的框架没有以编程方式改变

Hus*_*Rad 3 objective-c uitableview uiviewcontroller ios

我有2个UITableView在我的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);
Run Code Online (Sandbox Code Playgroud)

但它没有用.

我甚至把这些代码放在viewdidloadviewDidAppear方法上,但框架没有改变.

Ach*_*gar 14

尝试self.leftTable.translatesAutoresizingMaskIntoConstraints = YES,然后在运行时调用帧大小调整自动转换为新的约束.

但是,translatesAutoresizingMaskIntoConstraints也会根据视图的autoresizingMask添加新的约束.因此,请确保其他约束正常工作.


Jac*_*ack 11

使用自动布局时,修改框架将不起作用.

相反,您应该修改约束.

您可以通过为约束创建出口并在界面构建器中进行连接来完成此操作.