1 需求
屏幕中一块固定大小的区域,展示内容该区域放不下,需要可以通过上下滑动展示
2 swift中滚动视图
swift中UIScrollerView是一个可以滑动的视图。它还有两个子类,一个展示表格UITableView,一个展示文字UITextView。 本次先学习UIScrollerView。
3 UIScrollerView实现滚动区域
UIScrollerView类似其它UIView, 初始化指定一个固定区域,这个区域就是屏幕上的一块内容。它有个contentSize属性,通过这个属性设置其可滚动的区域。看下面代码是不是挺简单的呢,还有其它设置,可以去查其使用文档。
// 滚动区域
func setScrollView() {
let scrollView = UIScrollView(frame: CGRect(x: 0, y: scrollY, width: wid, height: hei - CGFloat(scrollY + btnHei + 2*btnX)))
scrollView.backgroundColor = UIColor.gray
scrollView.bounces = false //禁止弹性
scrollView.alwaysBounceVertical = false
scrollView.showsVerticalScrollIndicator = false
myView.addSubview(scrollView)
let btnNameArr = ["测试1", "测试2", "测试3", "测试4", "测试5", "测试6", "测试7", "测试8"]
// 设置滚动区域大小
scrollView.contentSize = CGSize(width: wid, height: CGFloat(90*btnNameArr.count))
for i in 0..<btnNameArr.count {
let btn = UIButton(frame: CGRect(x: btnX, y: CGFloat(i*90), width: wid-2*btnX, height: 80))
decorateBtn(btn: btn, title: btnNameArr[i])
scrollView.addSubview(btn)
btn.addTarget(self, action: #selector(bottomBtnTap(btn:)), for: .touchUpInside)
}
}