我已经在这个问题上工作了几个小时,而且作为次要视图,我无法从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
的所有方面。
答案 0 :(得分:0)
尝试从
更改内容大小CGSize(width: 320, height: 320)
到
CGSize(width: 960, height: 320)
并且还要改变
newDogView.widthAnchor.constraint(equalToConstant: 960.0).isActive = true
到
newDogView.widthAnchor.constraint(equalToConstant: 320.0).isActive = true