-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
layoutSubviews와 layoutIfneeded() 메서드 차이
24.03.28 14:48 작성 조회수 72
0
먼저 layoutSubViews는 직접 호출하면 안된다고 했는데요.
그러면 ViewCycleCustomBtn 프로젝트 내의 MyView에서
layoutSubViews가 아니라 layoutIfneede() 나 setNeedsLayout()을 써서 layoutSubViews가 호출되도록 해야 하는 거 아닌가요??
헷갈리네요;;;
override func layoutSubViews() {
...
}
답변을 작성해보세요.
0
0
앨런(Allen)
지식공유자2024.03.28
네 듀듀 님,
직접 호출하면 안된다는 의미는..
아래 처럼, layoutSubViews함수를 직접 실행(호출) 시키면 안된다는 의미예요.
self.layoutSubViews() // 함수 호출
당연히, 아래처럼 함수 내부의 원하는 구현 내용은,
함수 내부에서 구현하셔야 하고..
override func layoutSubviews() {
super.layoutSubviews()
// 구현 내용 넣기
}
아래처럼 layoutIfneeded()를 호출(실행)만 하시면,
self.view.layoutIfneeded()
내부적인 메커니즘에 의해서
self.layoutSubViews()
이걸 자동으로 호출시킨다는 의미 입니다. 그러면? 우리가 layoutSubViews() 함수에서 구현했던 내용이 자동으로 실행되겠죠?
감사합니다. :)
답변 2