강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

활용-8 앱 / 비즈니스로직 모델 구성, 셀 만들기 (활용 앱65강)

활용8, 오토레이아웃 설정에서 질문있어요

작성

·

364

0

안녕하세요, 엘런

저번에 코드로 넷플릭스 로그인 화면을 구성할 때는

UIView에 대한 오토레이아웃 설정을

override init(frame: CGRect) {
        super.init(frame: frame)
        
        setup()
        addViews()
        setConstraints()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

이렇게 해주었는데

이번 강의에서 언급된 updateConstraints() 메서드를 활용하지 않은 이유가 있을까요?? 넷플릭스 로그인 화면의 오토레이아웃 메서드인 setConstraints()만 updateConstraints()에 넣어주면 뷰를 띄우는 순서?에 관련한 오류가 나서요.

뷰 자체를 생성하는 것이라 drawing cycle을 제외하고 생각해도 돼서 그런건가?라는 생각이 들어서 질문드립니다.

답변 1

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

updateConstraints( )는

특정한 경우. 즉"뷰의 제약이 변하는 경우"(애니메이션이나 어떤 동작으로 인해 뷰가 변하는 경우)에만 오토레이아웃 등의 제약을 변경시켜주기 위한 목적으로 사용하는 것이예요.

일반적인 경우엔 뷰가 변하지 않으니까,
생성자에서 한번만 오토레이아웃을 잡아주면 됩니다...^^

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기