Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更改UITableView';加载视图后,UINavigationController中的s帧_Ios_Cocoa Touch_Uitableview - Fatal编程技术网

Ios 更改UITableView';加载视图后,UINavigationController中的s帧

Ios 更改UITableView';加载视图后,UINavigationController中的s帧,ios,cocoa-touch,uitableview,Ios,Cocoa Touch,Uitableview,我正在尝试更改UIViewController(UINavigationController的rootviewcontroller)中两个UITableView的帧大小和位置 我希望在用户操作时更改帧大小。我已经设置好了所有内容,并在用户操作时执行以下代码: CGRect firstTableFrame = [myTableView frame]; firstTableFrame.size.height = 290; [self.myTableView setFrame:firstTable

我正在尝试更改UIViewController(UINavigationController的rootviewcontroller)中两个UITableView的帧大小和位置

我希望在用户操作时更改帧大小。我已经设置好了所有内容,并在用户操作时执行以下代码:

CGRect firstTableFrame = [myTableView frame];
firstTableFrame.size.height = 290;  
[self.myTableView setFrame:firstTableFrame];
NSLog(@"%f",self.myTableView.frame.size.height);
[self.myTableView reloadData];
我可以确认NSLog输出290。然而,屏幕上没有任何变化。我在这里找到了一个答案,我认为它可能会解决.xib文件的问题(取消选中autolayout),但这会导致运行.xib时出现各种其他布局问题


有办法解决这个问题吗?

这是因为导航控制器有一个视图,其中包含您要添加到其中的视图(表视图)。您必须适当地调整该视图的大小

我可以通过转到viewcontroller的.xib文件并取消选中“文件检查器”窗格中的“使用自动布局”来解决此问题。如果取消选中该选项,约束将被删除,并且我能够通过编程方式调整框架的大小和重新定位

我明白了。那我该怎么处理这个观点呢?它的大小不需要更改,只需更改其视图(即TableView)中内容的大小即可。我假设你的意思是,我需要以某种方式让那个视图知道我正在更改它的子视图,或者通过那个视图进行更改。任何进一步的建议都将不胜感激。您可以使用rootController.view并将其边界设置为大于两个表视图所需的大小,或者将其设置为设备的屏幕大小。您还可以使用viewcontroller视图的superview并调整大小我想我需要澄清的是,正在调整大小的表视图正在变小。它的高度是从440到290。在这种情况下,超级视图的边界不需要改变吗?