再次显示视图控制器时自动布局中断
Posted
技术标签:
【中文标题】再次显示视图控制器时自动布局中断【英文标题】:AutoLayout breaking when displaying a view controller again 【发布时间】:2015-02-15 10:34:13 【问题描述】:我正在尝试使用 textview 进行自动布局,当视图加载时它工作得非常好,但是当我转到另一个视图控制器并返回到这个视图控制器时,我看到所有的自动布局都丢失了,这里是屏幕截图。
这是加载应用程序时的样子:
当我转到其他视图控制器(例如 36 个博客或设置)并返回博客帖子时,我发现所有自动布局都丢失了。这是丢失的自动布局的屏幕截图:
这是返回视图控制器时的控制台输出:
我正在使用故事板。
【问题讨论】:
我不会说 AutoLayout 已被完全禁用。但是,是的,博客文章的描述不再存在,缩略图稍微错位。 是的,它发生在所有 tableViews 中,在一个 tableview 中,我在 TextView 下有 320x100 的博客文章缩略图,该图像也消失了。试图从 2 天内弄清楚这一点。 您是否以编程方式添加此约束? 尝试在viewWillDisappear中为你的tableview设置一个estimatedRowHeight,rowHeight应该是你的平均单元格高度。 我之前实际上尝试过estimatedRowHeight,但在viewDidLoad中,不管怎样,终于成功了 【参考方案1】:我已尝试创建您面临的问题。这就是我所做的,并尝试这样做我所做的只是设置自定义单元格的高度,如下图所示。
这里我没有以编程方式设置“heightForRowAtIndexPath:(NSIndexPath *)indexPath”。 布局约束
结果:
希望这能解决您的问题。如果这仍然不能解决您的问题,那么请。添加您如何为自定义单元格设置约束的屏幕截图。
【讨论】:
问题已在 viewWillDisappear 中使用estimatedRowHeight 解决。在您的单元格中,您似乎已将 textView 的高度设置为 42 可能这就是您没有问题的原因,我的有顶部、左侧、右侧和底部约束,因为我希望 textView 高度取决于文本的长度 好的,谢谢您的回复。很高兴知道您的问题已解决。 我还通过删除 textView 高度检查了我的演示,它工作正常而不会破坏约束,因为我已将行高设置为 100。但您可以设置 - self.tableView.rowHeight = UITableViewAutomaticDimension;您可以查看它,它可能对您当前的问题或设置动态 tableView.rowHeight 有所帮助。快乐编码。 是的,我昨天试过了,没用,然后我在这里问以上是关于再次显示视图控制器时自动布局中断的主要内容,如果未能解决你的问题,请参考以下文章