停止 ScrollView 超出和低于界限

Stopping ScrollView Going Above & Below The Bounds

我在 ViewController 中创建了一个 UIScrollView,并添加了 UIView 和 UITableView 作为 ViewController 的兄弟。

 var pageSize = view.bounds.size

 // MiniQuestion: I disabled vertical indicators but it caused a gap for the width
 // of the indicator, so I added the gap manually. Is it okay behaviour?
 pageSize.width += 5


 MyView.backgroundColor = UIColor.redColor()
 MyTableView.backgroundColor = UIColor.blueColor()

 let pagesViews = [MyView , MyTableView]
 let numberOfPages = pagesViews.count

 for (pageIndex,page) in pagesViews.enumerate(){
    page.frame = CGRect(origin: CGPoint(x:0 , y:CGFloat(pageIndex) * pageSize.height), size: pageSize)
    ScrollView.addSubview(page)
 }

 ScrollView.contentSize = CGSize(width: pageSize.width, height: pageSize.height * CGFloat(numberOfPages))

它运行良好。除了,即使我有 2 个页面并向 ScrollView 添加了约束,它也会在首页上方(当我拉更多时)和 tableview 页面末尾下方(当我推更多时)。但是我想将它滚动到 tableview 的末尾并停留在顶部的边界。

通常他们看起来很好......但是,

如果我超越顶部:

如果我推到底部下方:

如何防止这种行为?

如果您不想让用户将其拉出滚动视图的范围,那么:

ScrollView.bounces = false