[iOS] autolayout 사용시 sizeToFit 적용방법

#REF1: http://stackoverflow.com/questions/13105544/auto-sizing-uilabel-when-using-autolayout

#REF2: http://chrisrisner.com/31-Days-of-iOS–Day-24%E2%80%93The-View-Life-Cycle

 

viewDidLoad 에서 sizeToFit을 하면 안먹힌다.

그렇다고 autolayout을 끌 수도 없고…

REF#1에 따르면 아래와 같이 viewDidLayoutSubviews 에 넣어주면 된다.(numberOfLines는 0으로 세팅해주어야함)


- (void)viewDidLayoutSubviews

{
[super viewDidLayoutSubviews];
[self.textLabel sizeToFit];
}

 

REF#2에서 찾아보니

viewDidLoad가 viewDidLayoutSubviews보다 먼저 호출되므로

viewDidLoad에서 아무리 frame등을 잡아주어도 viewDidLayoutSubviews에서

디폴트 세팅으로 돌려버리면 적용이 안된다는 사실.