ios - UIScrollView contentOffset 的一个错误?

标签 ios swift uiscrollview

我将 scrollView 的属性 isPagingEnabled 设置为 true,如下所示:

let scrollView = UIScrollView(frame: view.bounds)
scrollView.contentSize = CGSize(width: view.bounds.width * 2, height: 0)
scrollView.delegate = self
scrollView.isPagingEnabled = true
view.addSubview(scrollView)

和委托(delegate)方法:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    print(scrollView.contentOffset.x)
}

当 ScrollView 到边界时,控制台打印,如图:

enter image description here

enter image description here

红框里的值应该不会打印出来吧?

但是,如果将isPagingEnabled设置为false,控制台打印是正常的。这是 UIScrollView 的错误吗?

最佳答案

您的内容偏移量显示错误,因为您在 viewdidload 中使用内容大小在此方法中使用内容大小而不是打印您的内容偏移量

 override func viewDidLayoutSubviews()
 {
  scrollView.contentSize = CGSize(width: view.bounds.width * 2, height: 0)
 }

关于ios - UIScrollView contentOffset 的一个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43316178/

相关文章:

ios - Reactivecocoa 传递新值(value)

ios - 打破动画 block 内的循环

ios - 如何让 UIScrollView 适合其内容大小,直到在自动布局中滚动之前达到最大值

ios - scrollViewWillEndDragging 吸附到 View

ios - 使用 Facebook 登录失败。它适用于一个 Facebook 帐户,但在尝试使用另一个帐户时会引发错误

iphone - removeFromSuperview 和释放内存管理

ios - 过滤选项卡栏 Controller 中的选项卡?

ios - 每次按下按钮时如何使 scrollView 移动?

ios - DispatchGroup 和 Realm

ios - 插入新单元格时防止 UITableView 滚动