【问题标题】:setContentOffset to start at the bottom of scrollview not working从滚动视图底部开始的 setContentOffset 不起作用
【发布时间】:2017-02-23 08:32:16
【问题描述】:

大家好,我是 Xcode 的新手,我有一个具有高度为 2000 的滚动视图的视图控制器。我希望它在加载时从滚动视图的底部开始。

我已经读到 setContentOffset 应该可以帮助我解决这个问题,但我无法让它发挥作用。我不知道我在做什么工作。任何帮助将不胜感激。

谢谢,

import UIKit

class Pantalla2: UIViewController {

@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    let off = CGPointMake(0, 2000)

    self.scrollView.setContentOffset(off, animated: true)

}

【问题讨论】:

  • 您的视图控制器的视图可能尚未在viewDidLoad() 中加载,请尝试将setContentOffset 代码行移至viewDidAppear()
  • 嗨@Zhang 我试过了,但没有用...覆盖 func viewWillAppear(animated: Bool) { scrollView.setContentOffset(CGPointMake(0, max(scrollView.contentSize.height - scrollView.bounds.size .height, 0) ), 动画: true) }
  • ScrollView 高度不能大于屏幕尺寸。您应该尝试在高度为 2000 像素的滚动视图中使用视图。

标签: ios swift xcode uiscrollview


【解决方案1】:

试试这个 !

 override func viewDidLoad() {

     self.scrollview.contentOffset = CGPoint(x: 0, y: 2000)

}

【讨论】:

  • 关于 contentOffset 不是 contentSize 的问题
  • 抱歉 ContentSize 代码!这个新代码对我有用
  • 您是否使用自动布局,然后将此代码移动到 viewWillLayoutSubviews
  • 大家好。 @karthikeyan,我没有使用自动布局,只是一个主视图 > 滚动视图 > 视图 > 3 个图像
  • 你是如何设置滚动视图的,你在哪里设置 contentSize 为滚动视图?你能在这里打印你的滚动视图对象并更新日志详细信息吗
猜你喜欢
  • 1970-01-01
  • 2019-06-14
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多