2014-03-25 2 views
1

많은 사용자 정의 UIView가 있습니다.iOS 사용자 정의 UIView 디자인 : init 대 layoutSubviews

내 사용자 정의보기의 init에서 속성을 초기화하는 것을 계속 찾습니다. 그러나 프레임을 설정하기도합니다.

대개 내 layoutSubviews는 비워 둡니다. 뷰 경계가 변경 될 것으로 예상하지 않으면 init 자체에 다양한 서브 뷰 프레임을 설정하는 것이 좋습니까? 아니면 layoutSubviews로 이동해야합니까?

이유 중 하나는 내가 언급 한 바를 말하자면,이 방법은 종종 내 하위 뷰의 배치 방식에 따라 사용자 정의보기의 프레임 (크기)을 계산해야하기 때문입니다.

내 서브 프레임 크기가 모두 설정된 후에는 보통 내 사용자 정의보기의 프레임 크기를 조정합니다.

답변

2

많은 시간이 걸리기 때문에 layoutSubviews 방법으로보기를 할당/생성하지 않아야합니다. 초기화 메소드에서 뷰를 할당하고 layoutSubviews 메소드로 레이아웃 할 수 있습니다. 하지만 뷰의 프레임이 뷰의 경계에 비례하지 않는다면 이니셜 라이저 메서드에서 프레임을 설정하는 것에 대해 걱정할 필요가 없습니다.

관련 문제