개발/아이오에스

swift] 코드로 UIscrollView 구현하기

2021. 7. 28. 13:30
    let scrollView: UIScrollView = {
       let sv = UIScrollView()
        sv.translatesAutoresizingMaskIntoConstraints = false
        sv.backgroundColor = .systemRed
        return sv
    }()
    let viewInScroll: UIView = {
        let uv = UIView()
        uv.translatesAutoresizingMaskIntoConstraints = false
        uv.backgroundColor = .systemBlue
        return uv
    }()
    
    //스크롤뷰와 스크롤뷰 안에 들어 갈 뷰를 선언해준다.

func initLayout(){
	 view.addSubview(scrollView)
        scrollView.topAnchor.constraint(equalTo: naviTopView.bottomAnchor).isActive = true
        scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
        scrollView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
        scrollView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
        //우선 UIscrollView의 위아래와 양 옆의 Anchor을 view의 safeAreaLayoutGuide에 맞게 선언해준다.

        scrollView.addSubview(viewInScroll) //스크롤 뷰 안에 view를 넣는다.
        viewInScroll.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
        viewInScroll.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
        viewInScroll.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
        viewInScroll.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
        viewInScroll.widthAnchor.constraint(equalTo: scrollView.widthAnchor, multiplier: 1.0).isActive = true //가로로 스크롤 할 필요가 없을 때는 이처럼 스크롤뷰와 안에 뷰의 width값을 같게한다.


        }
        
}

스크롤뷰 안에 있는 뷰는 스크롤뷰의 위아래, 양 옆과 같이 constraint를 정해준다. 

run - 

systemRed인 스크롤뷰가 화면에 가득차 있고, 스크롤뷰의 안에 뷰(systemBlue)는 보이지 않는다.(뷰의 크기가 정해지지 않음)

이때

viewInScroll.heightAnchor.constraint(equalToConstant: 350).isActive = true 처럼 heightAnchor- 높이를 정해주면 

이런식으로 스크롤뷰안에 뷰가 보여진다.

viewInScroll.heightAnchor.constraint(equalToConstant: 800).isActive = true 높이를 화면 크키보다 크게 늘려 적용을 하면 

 

스크롤이 되는 모습을 볼 수 있다.

저작자표시 (새창열림)

'개발 > 아이오에스' 카테고리의 다른 글

swift] UIView에 background에 image 파일 적용하기  (0) 2021.08.05
swift] scrollview안에서 uibutton - 액션이(touchupInside) 먹히지 않음  (0) 2021.07.29
swift] 테이블뷰의 특정 셀의 좌표값 얻기  (0) 2021.07.09
swift] KVO 사용 tableview의 높이 동적으로 할당  (0) 2021.07.05
swift] 상황(조건)에 맞는 NSLayoutConstraint 처리  (0) 2021.07.05
'개발/아이오에스' 카테고리의 다른 글
  • swift] UIView에 background에 image 파일 적용하기
  • swift] scrollview안에서 uibutton - 액션이(touchupInside) 먹히지 않음
  • swift] 테이블뷰의 특정 셀의 좌표값 얻기
  • swift] KVO 사용 tableview의 높이 동적으로 할당
dev.jake
dev.jake
dev.jake
484jake
dev.jake
  • 분류 전체보기 (141) N
    • 개발 (87)
      • 아이오에스 (78)
    • 힘 (11)
    • 해외여행 (0)
    • 정보 (10) N
    • 국내여행 (8)
    • 이슈 (0)

블로그 메뉴

  • github

최근 글

hELLO · Designed By 정상우.
dev.jake
swift] 코드로 UIscrollView 구현하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.