2013-05-06 3 views
1

내 TabBarView에 navigationBar가 있습니다. 내 navigationBar에 rightBarButtonItem과 제목이 필요합니다. 왜 이런 일이 일어나는 걸까요? 내 코드는 viewDidLoad 메서드에 있습니다. 내 제목이 왼쪽 단추 항목으로 표시되는 이유는 무엇입니까? 그런 다음 클릭하면보기가 움직이는 것처럼 작동하고 오른쪽 막대 버튼 항목이 사라지고 제목이 정확합니다.제목이 왼쪽 버튼으로 표시되는 이유는 무엇입니까?

UINavigationBar *myNavBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320,40)]; 
myNavBar.barStyle = UIBarStyleBlackOpaque; 

[self.view addSubview:myNavBar]; 

//Creates the title. 
UINavigationItem *title = [[UINavigationItem alloc] initWithTitle:@"My Title"]; 

[myNavBar pushNavigationItem:title animated:NO]; 

//Creates the button. 
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self 
action:@selector(showMail:)]; 

UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:nil]; 
navItem.rightBarButtonItem = button; 

// add the UINavigationItem to the navigation bar 
[myNavBar pushNavigationItem:navItem animated:NO]; 
+0

왜 어떤 일이 발생합니까? –

+0

질문의 제목은 무슨 일이 일어나는지 말해줍니다. 어쩌면 거기에 그걸 포함시켜야 할 것 같아. 내 제목이 왼쪽 단추 항목으로 표시되는 이유는 무엇입니까? 그런 다음 내가 그것을 클릭하면 lke가보기를 움직이고 오른쪽 막대 버튼 항목이 사라지고 제목이 정확합니다. – Jason

답변

4

UINavigationItem는 제목과 모음 단추 항목이 포함되어 있습니다. 하나의 UINavigationItem의 속성을 할당하는 대신 여러 navigationItem을 생성합니다.

헤더 파일의 봐, 그리고 당신은 당신이 필요로하는 모든 것을 포함 볼 수 있습니다 :
NS_CLASS_AVAILABLE_IOS(2_0) @interface UINavigationItem : NSObject <NSCoding> { 
@private 
    NSString  *_title; 
    NSString  *_backButtonTitle; 
    UIBarButtonItem *_backBarButtonItem; 
    NSString  *_prompt; 
    NSInteger  _tag; 
    id    _context; 
    UINavigationBar *_navigationBar; 
    UIView   *_defaultTitleView; 
    UIView   *_titleView; 
    UIView   *_backButtonView; 
    NSArray   *_leftBarButtonItems; 
    NSArray   *_rightBarButtonItems; 
    NSArray   *_customLeftViews; 
    NSArray   *_customRightViews; 
    BOOL    _hidesBackButton; 
    BOOL    _leftItemsSupplementBackButton; 
    UIImageView  *_frozenTitleView; 
} 

는 그냥의 단일 인스턴스를 할당합니다. 여러 UINavigationItem을 할당하면 안됩니다.

+0

좀 더 구체적으로 기재 할 수 있습니까? – Jason

+0

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationItem_Class/Reference/UINavigationItem.html –

+0

이미 UINavigationItem에 내장 된 BarButtons 인스턴스를 생성합니다. –

0

여러 탐색 단추를 만듭니다. 모든 속성을 단일 단추로 설정해야합니다. bar의 제목을 설정하려면 self.title = @ "title"으로 설정할 수 있습니다.

탐색 표시 줄보기를 설정하려고 할 수도 있습니다.

+0

입니다. self.title = @ "my title"; 그것은 전혀 나타나지 않습니다. – Jason

+0

나는 title, titleview, topitem.title을 모두 시도했지만 제목은 나타나지 않습니다. – Jason

+0

그런 다음 UILabel을 만들고 myNavBar의 하위보기로 추가하십시오. – user

관련 문제