我有3个不同的视图和视图控制器。1负责显示一些评论文本,它有一个UIScrollView和一个UILabel。另一个负责显示注释,它有一个UIScrollView --一个嵌套的UIStackView。第三个,我想将前两个组合起来,并能够将它们滚动到一起,并且它有一个UIScrollView (在这个阶段包含的元素可以是任何东西)。
我希望保持这种分离,因为评审文本将显示在其他地方,它本身或与其他信息一起显示,并且我对注释进行了抽象,以便可以将相同的代码与不同的注释模型一起使用,以根据上下文显示不同的注释;这个特定的上下文是对评审文本的讨论。
我正在寻找的最终结果是,评论文本和评论可以一起滚动。
天真地,我尝试将视图控制器作为子视图和视图添加到UIStackView中的UIScrollView中,最后我得到了两个独立滚动的视图。这说得通,但这不是我想要的。我正在使用UICollectionView完成测试,但它似乎不起作用(当视图出现时,子视图控制器似乎没有收到通知,这就是我设置UILabel文本进行检查和为注释构建嵌套UIStackViews的地方)。我的下一个想法是从视图的滚动视图中“提取”内容,并将其放入第三个视图的UIScrollView容器(可能是UIStackView)。但是在我这样做之前,我想知道是否有一种更简单的方法可以有效地将这2个滚动视图(及其关联的视图控制器)合并到第三个滚动视图(及其视图控制器)中。

发布于 2020-03-12 11:59:58
根据OP的评论..。
您可以将VC添加为子视图控制器,然后将其视图添加到UIStackView中。
要做到这一点,关键在于设置子视图(及其滚动视图)的高度,以匹配滚动视图内容的高度。
请注意,作为子级加载的VC的“根视图”将具有.translatesAutoresizingMaskIntoConstraints = true .因此,如果要使用自动布局约束,请记住将其设置为false。
https://stackoverflow.com/questions/60608165
复制相似问题