ScrollView setting Programmatically

Zion·2021년 5월 2일
0
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 만 쓰고 싶다면 조정을 해라.

profile
어제보다만 나아지는

0개의 댓글