【问题标题】:ScrollView doesn't scroll in swiftScrollView 不会快速滚动
【发布时间】:2016-12-15 01:16:15
【问题描述】:

我有一个 UIView 并向它添加一个 UIScrollView。 scrollView 内部是一个 UIImageView。
我想通过按一个按钮来缩放图像视图。如果图像视图被缩放,您应该能够滚动,但这不起作用。

目前我有:

self.imageView = UIImageView()
self.imageView.image = image
self.imageView.frame = self.contentView.bounds

self.scrollView = UIScrollView()
self.scrollView.frame = self.contentView.bounds
self.scrollView.contentSize = self.contentView.bounds.size
self.scrollView.addSubview(self.imageView)

self.contentView.addSubview(self.scrollView)

还有:

@IBAction func zoomPicture() {
    if (scale <= 1.5) {
        scale = scale + 0.1
        scrollView.transform = CGAffineTransformMakeScale(scale, scale)
        scrollView.zoomScale = scale
        scrollView.maximumZoomScale = 1.5
        scrollView.minimumZoomScale = 1.0
        scrollView.contentSize = contentView.bounds.size
        scrollView.scrollEnabled = true
    }
}

我的类也实现了UIScrollViewDelegate,我在 viewDidLoad() 函数中设置了委托。我还添加了viewForZoomingInScrollView 函数。缩放有效,但我无法滚动。

【问题讨论】:

  • 尝试设置self.scrollView.contentSize大于self.contentView.bounds
  • 很好,工作!内容大小有多大关系?
  • 我想你在这个链接里回答,stackoverflow.com/questions/11318845/…
  • @mafioso 是的,这很重要,并且总是尝试将内容大小设置得更大,为什么会发生这种情况,我在下面发布了答案。

标签: ios swift uiscrollview uiimageview


【解决方案1】:

对于这个问题,您必须将self.scrollView.contentSize 设置为大于self.contentView.bounds,以便获得适当的滚动空间。

替换这一行

self.scrollView.contentSize = self.contentView.bounds.size

到这里:

self.scrollView.contentSize = self.contentView.bounds.size*2 //or what ever size you want to set

【讨论】:

  • 你也知道为什么横向模式下水平滚动不起作用吗?
  • 您是否启用了属性的水平滚动?
  • 嗯,不,我不这么认为,我该怎么做?
  • 您将在此处获得有关滚动视图的详细信息 appcoda.com/uiscrollview-introduction 看看这会有所帮助
【解决方案2】:

试试这个:

@IBAction func zoomPicture() {
    if (scale <= 1.5) {
        scale = scale + 0.1
        scrollView.zoomScale = scale
        scrollView.maximumZoomScale = 1.5
        scrollView.minimumZoomScale = 1.0
        let size = contentView.bounds.size
        scrollView.contentSize = CGSize(width: size.width * scale, height: size.height * scale)
        scrollView.scrollEnabled = true
    }
}

【讨论】:

    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多