我正在将我的应用程序从 iOS6 升级到 iOS7,并且我的 UIViewControllers 布局存在一些问题。在 iOS6 中,我可以通过获取 textView 的 contentSize 属性,然后设置它的 frame 属性来动态调整 UITextViews 的大小。我将在 viewWillAppear 方法中进行所有调整大小,以便在视图可见之前调整视图大小。现在在iOS7中它不起作用。contentSize 属性起作用的唯一方法是我在 viewDidAppear 方法中设置。我讨厌这样做,因为它会导致视图在它已经可见后跳转。有没有人想出如何解决这个问题?
这是我在 iOS7 中不再适用的代码:
-(void)viewWillAppear:(BOOL)animated
{
self.textView = [[UITextView alloc]initWithFrame:CGRectMake(5, 0, 310, 0)];
self.textView.text = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
[self.view addSubview:self.textView];
CGRect textViewframe;
textViewframe = self.textView.frame;
textViewframe.size.height = [self.textView contentSize].height;
self.textView.frame = textViewframe;
}