기존 UIView 로 구현한 영화 상세정보 뷰에서
API 에서 받아오는 영화소개의 길이에 따라
영화소개 레이블의 길이가 길어질 수 있기 때문에
이에 대한 대처가 필요했다.
두 가지 방법을 생각해 보았다.
1. 영화 소개 레이블을 텍스트 뷰로 만든다
2. 전체 화면을 스크롤 뷰로 감싼다.
두가지 방법 다 괜찮을 것 같았지만
대부분 영화소개의 길이가 길진 않기 때문에
텍스트 뷰로 높이를 고정시키는 것 보단
스크롤 뷰로 전체를 감싸는 것을 선택했다.
final class DetailView: UIScrollView {
private let contentView = UIView()
기존 UIView 를 상속한 뷰에서 스크롤 뷰로 변경 후
화면을 담을 뷰를 하나 생성하여 그 안에 담아주었다.
/// 스크롤 뷰 설정
private func setupScrollView() {
self.alwaysBounceVertical = true
self.showsVerticalScrollIndicator = true
}
// MARK: - 오토레이아웃
private func configureUI() {
self.addSubview(contentView)
contentView.snp.makeConstraints { make in
make.edges.equalTo(self.contentLayoutGuide)
make.width.equalTo(self.frameLayoutGuide)
}
생각보다 간단하게 몇가지 수정을 해주니 스크롤뷰로 변경할 수 있게 되었다.
'내일배움캠프 iOS' 카테고리의 다른 글
iOS,Swift) TIL # 46 앱 개발 심화 강의 - 의존성 주입, MVVM (2) | 2024.12.23 |
---|---|
UIKit) TIL # 45 팀 프로젝트 - 영화상영정보 발표 (0) | 2024.12.20 |
UIKit) TIL # 43 팀 프로젝트 - 영화상영정보 앱, 메인뷰 추가작업 (0) | 2024.12.18 |
UIKit) TIL # 42 팀 프로젝트 - 영화상영정보 앱, 영화상세정보 페이지 구현 (0) | 2024.12.17 |
UIKit) TIL # 41 팀 프로젝트 - 영화상영정보 앱, API 분석 (1) | 2024.12.16 |