class ScrollViewController: UIViewController {
//MARK : Scroll View
var scrollView = UIScrollView.init()
var contentView = UIView()
//MARK : Next Button
let nextButton: UIButton = {
let button = UIButton()
button.setTitle("NEXT", for: .normal)
button.backgroundColor = .darkGray
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
}
var nextButtonHeight: CGFloat = 50
func setupView() {
self.scrollView.translatesAutoresizingMaskIntoConstraints = false
self.contentView.translatesAutoresizingMaskIntoConstraints = false
let heightConstraint = NSLayoutConstraint.init(item: contentView,
attribute: .height, relatedBy: .equal,
toItem: self.view, attribute: .height,
multiplier: 1.0,
constant: 0)
heightConstraint.priority = UILayoutPriority.init(200) // 이 게 뭔 데
view.addSubview(nextButton)
//nextButton.addTarget(self, action: #selector(estimationMakeAndSend(_:)), for: .touchUpInside)
nextButton.translatesAutoresizingMaskIntoConstraints = false
nextButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
nextButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
nextButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
nextButton.heightAnchor.constraint(equalToConstant: nextButtonHeight).isActive = true
view.addSubview(scrollView)
view.addConstraints([
scrollView.widthAnchor.constraint(equalTo: view.widthAnchor),
scrollView.heightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.heightAnchor, constant: -1 * nextButtonHeight ),
scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: nextButton.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor)])
scrollView.addSubview(contentView)
let padding = navigationController?.navigationBar.frame.maxY ?? 0
scrollView.addConstraints([
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor),
contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor, constant: -1 * padding),
contentView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
contentView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor)])
view.addConstraints([
contentView.widthAnchor.constraint(equalTo: view.widthAnchor),
heightConstraint])
}
}
next Button 이 뭐지 할 수도 있는데
내가 자주쓰는 스크롤 뷰엔 이게 항상 있어서 이것까지 포함해서 만들어 놓은 것이다.
순수하게 ScrollView 만 쓰고 싶다면 조정을 해라.