2009-08-20 5 views
18

내비게이션 막대 ('내비게이션 막대가 나타나는 모든 화면')에 'i'버튼을 넣으려고합니다. 그 버튼을 만지면 내가 제어 할 수있는보기 (아마도 모달)가 생겨납니다. 탐색 모음에 단추를 어떻게 두는가, 그리고 어떻게 다시 콜백을 실행합니까?iPhone 탐색 바에 "정보"버튼을 넣을 수 있습니까?

답변

65

정보 버튼 코드 :

위의 코드는 메소드를 호출
UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
    [infoButton addTarget:self action:@selector(infoButtonAction) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *modalButton = [[UIBarButtonItem alloc] initWithCustomView:infoButton]; 
    [self.navigationItem setLeftBarButtonItem:modalButton animated:YES]; 
    [modalButton release]; 

- (무효) infoButtonAction. 이것을 모든 ViewController에 추가하거나 하나의 .nib을 만들고 모든 뷰에 사용하십시오.

+0

완벽합니다. 두 개의 뷰 컨트롤러가 있습니다. 루트 및 세부 정보. 두 코드 모두에이 코드를 추가했습니다. 나는 왼쪽에서 오른쪽으로 바꿨다. 또한 추가했습니다 : - (void) infoButtonAction { \t NSLog (@ "Information"); } 잘 작동합니다. 각보기 컨트롤러는 이미 자신의 xib 파일을 가지고 있습니다. "모든 의견에 펜촉을 사용하십시오"라고했을 때 무엇을 의미 했습니까? 정적 정보가 표시된 간단한보기를 원합니다. newb 질문에 대해 유감입니다. 가장 간단한 방법은 무엇입니까? – PrinceOfMaine

+0

코드 블록이 코드 블록으로 올바르게 표시되도록 주석의 서식을 지정하는 방법은 무엇입니까? – PrinceOfMaine

+0

나는 모든 view에 대해이 viewController가 필요하므로 -viewDidLoad 또는 -awakeFromNib 메서드에서 위의 코드로 viewController를 만들 수 있다고 생각했다. 그런 다음 필요한 각 viewController에 대해이 viewController의 하위 클래스를 만듭니다. 그런 식으로 infoButton의 코드가있는 위치는 하나뿐입니다. 그냥 생각. – Jordan

9

또한 storyboard.Drag UIBarButtonItem 대신 네비게이션 바에 UIButton을 붙이면됩니다. 확장 할 수있는 바 버튼 항목 안에 언 버튼이 "중첩"됨을 알 수 있습니다.

enter image description here

그런 다음이 정보를 빛에 버튼의 type 속성을 변경할 수 있습니다 | 어둡게 속성 관리자에서.

enter image description here

+0

Xcode의 불가사의;) –

관련 문제