0

현재 디자인 사양에는 UINavigationBar와 topItem/barItem의 표준 간격과 제목 및 표준 글꼴이 포함됩니다.UINavigationBar를 표준 시각적 형식으로 서브 클래 싱하기

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 나는 다음과 같은 일을 고려하고 :

  1. 자동 레이아웃 제약 세트있는 오브젝트 topItem 및 barItem의 크기 크기로 UINavigationBar, 모든 프로그래밍 방식으로 수행을 만듭니다.

  2. 위의 경우 스토리 보드를 사용하지 말고 모든 제약 조건을 코드에 정의하면됩니다.

  3. 실제 스토리 보드에서는 UINavigationBar가있는 모든 뷰가이 하위 클래스를 사용합니다.

이것이 최선의 방법입니까?

+0

UINavigationBar를 서브 클래스 화하고 모든 것을 다시 구현해야합니다. UINavigationController는 탐색 모음에 대한 사용자 지정 클래스를 지원합니다. – Andy

답변

0

는 이제 응용 프로그램 작업과 같은 문제가이 방법을 결정 :

응용 프로그램은 응용 프로그램에 대한 UINavigationBar의 4 종류가 있습니다. UINavigationBar에서 상속받은 BaseNavBar를 만들었습니다. .xib에서 4 개의 UINavigationBar를 만들고이 요소 (titleLabel, titleLabel2)를 BaseNavBar.h에 연결하고 단추 (2에서 4)의 작업을 BaseNavBar.m에 연결합니다. xib에서 만든 모든 디자인.

UIViewController에서 상속 한 BaseViewContoller를 만들었습니다. viewDidLoad에서 필요한 유형의 BaseNavBar를 초기화하고 요소를 self.navigationItem에 할당합니다.

대부분의 경우 BaseViewContoller는 사용해야하는 BaseNavBar 유형을 결정하지만 ViewController (BaseViewContoller에서 상속)에서이 유형을 변경할 수 있습니다.

그런 다음 새 ViewController를 만들고 UINavigationBar에 대해 더 이상 걱정하지 않아도됩니다.

모든 UINavigationBar에서 변경해야하는 경우 - 한 곳에서 수행합니다.

관련 문제