0

我试图让自动布局在带有滚动视图的视图控制器上正常工作。当我第一次加载视图控制器时,它并没有做我想做的事。但是,如果我启动第二个模态 VC——恰好是一个 Edit VC,然后将其关闭,而不做任何其他事情,原始 VC 会正确布局(我想要的方式)。

起初,textview 的大小不适合其内容,而只是反映故事板中的占位符视图。

在启动并关闭模态 VC 后,textview 确实采用了它的内容。

据我所知,在 2ndVC 启动过程中没有发生任何事情可以改变 1st 的任何事情。

我的日志显示 ViewDidLoad 在最初加载时仅由第一个 VC 调用一次。Viewwillappear 由第一个 VC 调用两次:当它最初加载时,然后在第二个 VC 被关闭后。

当您关闭呈现的 VC 时,除了 view 之外,还有其他方法会在呈现的 VC 中出现吗?

这是 VC1 中启动第二个 VC 的代码。

  UIStoryboard *storyBoard = self.storyboard;
    IDEditListVC *editVC =
    [storyBoard instantiateViewControllerWithIdentifier:@"editlist"];
    editVC.list = _list;
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: editVC];
     [self presentModalViewController:nav animated:YES];

//这是VC1 viewWillAppear中获取文本视图高度的代码。启动和关闭 2nd VC 前后的结果变化

self.textView.text = listText;
float listHeight = self.textView.contentSize.height;
NSLog(@"listHeight%f",listHeight);
4

1 回答 1

0

尝试这个

-(void)viewDidLayoutSubviews
 {
    self.textView.text = listText;
    float listHeight = self.textView.contentSize.height;
    NSLog(@"listHeight%f",listHeight);
 }
于 2018-01-18T20:37:32.140 回答