UIScrollView 在视图出现之前不会接受子视图

Posted

技术标签:

【中文标题】UIScrollView 在视图出现之前不会接受子视图【英文标题】:UIScrollView will not accept subviews until view will appear 【发布时间】:2012-04-09 15:26:38 【问题描述】:

拥有一个带有 UIScrollView 的视图控制器。此视图控制器在应用程序启动时创建/加载。在看到控制器之前,尝试将子视图添加到滚动视图并且滚动视图不会接受/添加子视图。一旦调用了 ViewWillAppear,就可以很好地添加子视图。它运行完全相同的代码,但在调用查看一次之前不会添加子视图。

这是什么原因?我认为这是按设计的....

【问题讨论】:

【参考方案1】:

您应该能够在 viewDidLoad 期间插入您的子视图:如果控制器的视图出口都正常。 (这比 viewWillAppear: 早一点,并且是有效视图对象应该首先可用的位置。)

【讨论】:

没有错误,框架都设置好,但简单不存在。它们不会被添加到子视图中。我将不得不建立一个测试台来仔细检查。 是否发生在 viewDidLoad 中? (尝试记录滚动视图的值。)

以上是关于UIScrollView 在视图出现之前不会接受子视图的主要内容,如果未能解决你的问题,请参考以下文章

在Scroll View的高度动画后,UIScrollView的子视图不响应触摸

UIScrollView 子视图不会调整大小

子视图不会将后沿与其父 UIScrollView 对齐

如果涉及superview,则不会排除子视图点击的UIScrollView

尽管内容大小正确,但 UIScrollview 不会滚动; textview 子视图框架也表现得很奇怪

有没有办法将 UIView 嵌入到 UIScrollview 中而不会丢失 iOS 中的子视图约束?