ImageView inside UIScrollView with Zoom

Zion·2021년 6월 18일
1

언제쯤이면 UIScrollView를 쫄지 않고 쓸 수 있을까 ?

UIScrollView 안에 UIImageView 를 한개 넣을 거에요.
왜 넣을까요 굳이? Zoom 하려구요.

자 일단

let scrollView = UIScrollView.init()

//layout setup func

scrollView.translatesAutoresizingMaskIntoConstraints = false
let heightConstraint = NSLayoutConstraint.init(item: imageView,
                                               attribute: .height,
                                               relatedBy: .equal,
                                               toItem: self.view,//View Controller의 view 
                                               attribute: .height,
                                               multiplier: 1.0, constant: 0)
heightConstraint.priority = UILayoutPriority.init(rawValue: 1000)// 200으로 했는데 안먹혀서 강제로 1000줌.
        view.addSubview(scrollView)
        
//view 에 Layout 추가
view.addConstraints([
            scrollView.widthAnchor.constraint(equalTo: view.widthAnchor),
            scrollView.heightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.heightAnchor),
            scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
            scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
            scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
            scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor)
        ])


//scrollView에 imageView 추가
scrollView.addSubview(imageView)scrollView.addConstraints([
                                                           imageView.topAnchor.constraint(equalTo: scrollView.topAnchor),
                                                           imageView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),
                                                           imageView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
                                                           imageView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor)])
                                                           
                      
view.addConstraints([
                      imageView.widthAnchor.constraint(equalTo: view.widthAnchor),
                      heightConstraint])


imageView.contentMode = .scaleAspectFit

끝!
imageView를 frame으로 해봤는데 잘 안됐다.(어떻게 잘 안됏냐면 오버사이즈? 가 됐었다... 내가 아직 view.frame, view.bounds, UIScreen.main.bounds의 크기를 모르나보다... 그럼 안되는디...)

profile
어제보다만 나아지는

0개의 댓글