2011-07-03 2 views
2

인터페이스 빌더에서 설정 한 시간이 내 앱에서 예상대로 나타납니다. 다른 때에는 그들은 다르게 나타나거나 전혀 나타나지 않습니다. 그리고 이것이 왜 그런지에 대해 잘 이해하지 못하는 것 같습니다.iOS : 인터페이스 빌더를 통한 혼동

예를 들어, 모달보기에서 탐색 컨트롤러를 제공합니다. 하지만 인터페이스 빌더에서 탐색 표시 줄의 제목을 설정하려고하면 무시됩니다. 내비게이션 막대 제목은 표시되는 제목에서 이름을 가져온 것이므로 실제로 내비게이션 막대가 아닌 해당 하위보기에 제목을 설정해야한다는 것을 알고 있습니다. 이는 코드 만 고려할 때 충분한 의미를 갖지만 IB가 겉으로보기에 제목을 설정할 수 있도록 허용한다는 사실은 매우 혼란 스럽습니다. 왜 당신을시키는 거지? 앱의 실제 상태를 반영하지 않더라도 IB에서 "올바르게"보입니다.

비슷한 예제는 UIBarButtonItem을 탐색 모음에 추가하는 것입니다. 다시 IB에서 나는 그것을 추가 할 수 있고 그것의 제목, 스타일 등을 설정할 수있다. 그러나 그것은 나타나지 않는다. 내비게이션 컨트롤러가 초기화 된 루트보기 컨트롤러에서 .navigationItem.leftBarButtonItem 속성을 설정해야합니다.

내가 알 수있는 한 위의 두 가지 (제목 & 버튼) 중 어느 것도 IB를 통해 달성 할 수 없지만 IB는 확실하게 보이도록합니다. 그리고 결국 이것은 네비게이션 컨트롤러 용 XIB 파일조차도 의미가 없습니다.

내가 누락 된 항목이 있습니까?

+0

FWIW,이 시점에서 나는 더 이상 IB를 사용하지 않습니다. 너무 많은 단점과 너무 지루한 마우스 사용. – maxedison

답변

5

xib의 "Simulated Metrics"에서 "Navigation Bar"가 "Top Bar"로 설정되어 있으면 제목을 설정할 수 없으며 단추를 추가 할 수 없습니다. xib에 탐색 바를 수동으로 추가 했습니까? 그렇다면 IB에서 제목을 설정하고 막대 버튼 항목을 추가 할 수 있습니다. 어떤 시점에서 네비게이션 바가 네비게이션 바에 의해 추가되기를 기대하기 때문에 네비게이션 바를 수동으로 추가해서는 안됩니다. 시뮬레이션 된 측정 항목을 사용해야합니다.

+0

네, 네비게이션 바를 언제 수동으로 추가할까요? – maxedison

+2

내비게이션 컨트롤러를 사용하지 않고 내비게이션 바를 필요로 할 때. 예를 들어 presentModalViewController가있는보기 컨트롤러가 있으며 "취소"및 "저장"버튼이있는 상단의 탐색 막대가 필요할 수 있습니다. –

+0

알았습니다. 감사합니다 8 월. – maxedison

관련 문제