【发布时间】:2017-09-01 03:13:35
【问题描述】:
我已经为此工作了几个小时,但我无法完全从我的 UIScrollView 作为次要视图中获得所需的行为。我有一个名为 newDogView 的辅助视图,其中包含 3 个堆栈视图。我添加newDogView 并在代码中设置它的约束。
我的意图是将newDogView(即960x320)呈现为具有水平滚动功能的较小视图(320x320)。当前结果是添加了视图,但仍保持 960x320。我认为混淆要么来自堆栈视图,要么来自辅助视图,而不是视图控制器内部。
以下是相关代码:
override func viewWillLayoutSubviews() {
newDogView.translatesAutoresizingMaskIntoConstraints = false
newDogScrollView.translatesAutoresizingMaskIntoConstraints = false
newDogScrollView.heightAnchor.constraint(equalToConstant: 320.0).isActive = true
newDogScrollView.widthAnchor.constraint(equalToConstant: 960.0).isActive = true
newDogScrollView.contentSize = CGSize(width: 320, height: 320)
newDogView.heightAnchor.constraint(equalToConstant: 320.0).isActive = true
newDogView.widthAnchor.constraint(equalToConstant: 320.0).isActive = true
newDogView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
newDogView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
}
我不确定是否应该设置 newDogView 的高度和宽度。
这是我当前的视图层次结构和警告:
这是我目前的故事板:
我在Content View 和Scroll View 的所有方面都设置了约束。
【问题讨论】:
-
如果你设置了高度和宽度,那么行为是什么?
-
您需要确保您有约束来隐式或显式设置滚动视图的大小,并且您需要设置滚动视图的内容大小属性,以便正确调整内容的大小。跨度>
-
@Paulw11 请查看我的更新代码和编辑。
-
你为什么在这里设置920,你不应该设置320吗?newDogView.widthAnchor.constraint(equalToConstant: 960.0).isActive = true
-
@3stud1ant3 我更新了代码和截图。仍然不是所需的行为。视图不滚动。
标签: ios swift uiscrollview interface-builder