我将视图控制器显示为一个表单,其中将有一个表格视图,其中自定义单元格左侧是标签,右侧是文本字段。
表格尺寸(高度)将根据将从表格视图中给出的选项进行的选择动态增加。
因此,对于初始配置,我使用此
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
CGRect newBoundsForSuperView=CGRectMake(0, 0, max_view_width,max_view_height);
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.00")==YES)
{
self.view.superview.bounds=newBoundsForSuperView;
self.view.superview.center=self.view.window.center;
}
}
当我点击文本字段时,viewWillLayoutSubviews被无限次调用,应用程序被冻结。
任何人都可以指出问题究竟是什么和/或在哪里?
BTW,问题仅出现在iOS 8中。
答案 0 :(得分:4)
我相信你的问题与设置self.view.superview.bounds
有关,导致superview在递归庄园中调用viewWillLayoutSubviews。
查看为iOS7 +设置视图控制器的preferredContentSize
属性。