我的ScrollView没有垂直滚动

时间:2018-02-06 10:32:20

标签: swift xcode uiscrollviewdelegate

我正在使用Swift 4在Xcode 9中编写应用程序,并且我在视图中添加了一个UIScrollview,用于显示高度为3030像素的jPeg。我已将scrollview添加到我的视图中,并在IB中的Outlets中分配了委托。我已将名为scrollView的IBOutlet附加到UIScrollview,并将带有jPeg的UIImageView添加到UIScrollview。我已将UIScrollView的大小设置为375W和620H,然后将UIImageView设置为375W和3030H。这应该完成Interface builder中的工作。

在Controller中,我已将UIScrollViewDelegate添加到类中,并将以下代码添加到ViewDidLoad

    //scrollView.delegate = self
    scrollView.contentSize = CGSize(width: 375, height: 3040)

我已经注释掉了代表行,就像我在IB中所做的那样。当我运行应用程序时,屏幕会显示图像,但是当我尝试滚动时,它几乎不会滚动多个屏幕。我错过了什么?

3 个答案:

答案 0 :(得分:1)

您需要在滚动视图中添加 UIView ,然后将该视图顶部/底部/前导/尾随0添加到scrollview,然后在视图中添加图像视图并将图像视图底部约束添加到该视图,所以你的滚动视图将正常工作。

请参阅以下图片了解更多详情。

enter image description here

答案 1 :(得分:0)

您必须将滚动视图放在UIView中,将另一个UIView放在滚动视图中。

  1. 外部视图约束:前导,尾随,顶部和底部 - 0
  2. 滚动视图约束:前导,尾随,顶部和底部 - 0
  3. 内部视图约束:超级视图的前导,移动和顶部,外部视图宽度相等,底部空间为-250,高度等于900(内容的高度)
  4. 立即设置您的内容。
  5. enter image description here

答案 2 :(得分:0)

您可以按照以下图片实现屏幕截图

    //Height Constant of image
    @IBOutlet weak var ConstHeight: NSLayoutConstraint!

    override func viewDidLoad() {
        super.viewDidLoad()


        if #available(iOS 11.0, *) {
            self.scrollView.contentInsetAdjustmentBehavior = .never
        }else{
            self.automaticallyAdjustsScrollViewInsets = false

        }

        //You can change height on here too
         self.ConstHeight.constant = 800

    }

enter image description here enter image description here enter image description here