Я показываю, как создать простой вид прокрутки с двумя UIView и добавить некоторые ограничения автоматического макета, чтобы он плавно прокручивался.
Я предполагаю, что у вас есть пустой контроллер представления в main.storyboard.
1.Добавить UIView .
let view = UIView()
view.backgroundColor = UIColor.green
self.view.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
top = view.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0)
left = view.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 0)
right = view.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 0)
bottom = view.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: 0)
height = view.heightAnchor.constraint(equalToConstant: self.view.frame.height)
NSLayoutConstraint.activate([top, right, left, height, bottom])
2.Добавить ScrollView .
let scroll = UIScrollView()
scroll.backgroundColor = UIColor.red
view.addSubview(scroll)
scroll.translatesAutoresizingMaskIntoConstraints = false
top = scroll.topAnchor.constraint(equalTo: view.topAnchor, constant: 10)
left = scroll.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0)
right = scroll.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0)
bottom = scroll.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -10)
NSLayoutConstraint.activate([top, right, left, bottom])
3.Добавить первый UILabel .
let l2 = UILabel()
l2.text = "Label1"
l2.textColor = UIColor.black
l2.backgroundColor = UIColor.blue
scroll.addSubview(l2)
l2.translatesAutoresizingMaskIntoConstraints = false
top = l2.topAnchor.constraint(equalTo: scroll.topAnchor, constant: 10)
left = l2.leadingAnchor.constraint(equalTo: scroll.leadingAnchor, constant: 10)
height = l2.heightAnchor.constraint(equalToConstant: 100)
right = l2.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -10)
NSLayoutConstraint.activate([top, left, right, height])
4.Добавить вторую UILabel .
let l1 = UILabel()
l1.text = "Label2"
l1.textColor = UIColor.black
l1.backgroundColor = UIColor.blue
scroll.addSubview(l1)
l1.translatesAutoresizingMaskIntoConstraints = false
top = l1.topAnchor.constraint(equalTo: scroll.topAnchor, constant: 1000)
left = l1.leadingAnchor.constraint(equalTo: scroll.leadingAnchor, constant: 10)
bottom = l1.bottomAnchor.constraint(equalTo: scroll.bottomAnchor, constant: -10)
height = l1.heightAnchor.constraint(equalToConstant: 100)
right = l1.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -10)
NSLayoutConstraint.activate([left, bottom, right, height, top])
