我真的不想在这里问,因为我经常试着自己解决问题。但是在这个问题上,我已经坚持了几天,无法在网上找到解决方案。
我有一个包含多个子视图的ScrollView。我有一个图像视图和顶部有两个固定高度的标签。然后有一个UITextView和另一个ImageView(见图片)。
我以编程方式将文本添加到文本视图中,因此它应该具有动态高度,ImageView应该移动到底部,以便您可以滚动。我不希望TextView本身可以滚动,但我希望所有子视图也可以移动。
我知道我应该能够使用约束来解决这个问题。但我觉得我已经尝试了所有东西,但没有任何效果。当我禁用自动布局并手动移动视图时,它工作正常。我想知道是否有更好的方法。
正如您所看到的,我将TextView固定在上面的ImageView上,优先级为1,000,而下面的ImageView优先级为1,000。无法删除高度约束,因此我将其设置为可能的最低优先级。底部的ImageView以绝对高度固定在超视图的底部。它的高度约束也具有低优先级。 (如果有帮助,我可以发布ImageView约束的图像) 我也尝试过以编程方式调整框架,但这与自动布局结合使用效果不佳。 (如果有帮助我当然可以发布代码)
我做错了什么?我只是禁用自动布局并手动完成吗?这对我来说似乎不洁净。它甚至可以吗?
我真的很感谢你的帮助:) 映入眼帘, 扬
答案 0 :(得分:1)
确保在Interface Builder中取消选中Scrolling Enabled
上的UITextView
属性。我相信自动布局系统在计算内在内容大小时会考虑到这一点。
答案 1 :(得分:1)
如果某人正在努力解决类似的问题:这就是我最终要做的事情:
还有一点工作,但最终有效。这遵循Apple的混合方法指南,可以在这里看到(查找UIScrollView):http://developer.apple.com/library/ios/#releasenotes/General/RN-iOSSDK-6_0/index.html
答案 2 :(得分:0)
问题是高度设置。你不知何故必须尝试删除它。如果您添加了其他“足够”的约束,它应该可以删除。
目前,您有一个高度为“大于或等于”的用户约束,以及“等于”约束。显然,这些并不能很好地协同工作。
也许存在概念错误。下部图像视图不应固定在位置,因此到下部图像视图的距离不会是“足够”的约束,以便您删除固定高度。
我认为如果
它应该有用