iOS 타이틀레이블 위치 강제 조정

iOS 네비게이션바(Navigationbar)의 좌우 툴바버튼이 폭 균형이 맞지 않을경우, 타이틀 레이블의 중앙 정렬이 한쪽으로 쏠리면서 좋지 않게 보인다. 이를 방지하여 레이블을 강제로 중앙 정렬하기 위해서 다음과 같은 방법들이 있으니 상황에따라서 적절히 적용하면 된다. 방법1: viewWillAppear:에서 titleView를 hide했다가 viewDidAppear에서 titleView의 위치를 원하는대로 설정 후 unhide 이경우 타이틀레이블의 트랜지션 애니메이션은 보이지 않게되니 네비게이션 push동작이있는 상황에서는 쓰지 않는것을 추천한다. 방법2: 네비게이션바의 타이틀뷰에 UILabel을 상속받은 CustomTitleLabel를 set. navigationItem.titleView = [[CustomTitleLabel alloc] init]; 네비게이션바의 레이아웃이 조정될때 자동으로 titleView의 frame값도 같이 조정되게 되는데, 기본적으로 중앙정렬을 하는 동작이 일어나게 된다. 해당 동작이 일어나는 것을 막기위해 CustomTitleLabel의 setFrame: 메서드를 오버라이드하여 setFrame:의 동작을 마음대로 조정한다. ...

2014년 5월 19일 · 1분 · 133단어