使用UIScrollView作为辅助视图的麻烦

时间:2017-09-01 03:13:36

标签: ios swift uiscrollview interface-builder

我已经在这个问题上工作了几个小时,而且作为次要视图,我无法从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的高度和宽度。

这是我当前的视图层次结构和警告:

Here is my view hierarchy and warning.

这是我目前的故事板:

Here is my storyboard.

我有约束固定在Content ViewScroll View的所有方面。

以下是我的iPhone目前的观点: iphone photo

1 个答案:

答案 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