내 루트 인 UINavigationController의 UIToolbar에 버튼을 추가해야합니다. 특정 UIViewController 표시 될 때 나타나는 UIToolbar 싶습니다. 따라서, 내 UIViewController 하위 내있는 viewDidLoad 메서드에서이 코드를 배치 :UIToolbar에 UIBarButtonItem 추가하기
UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithTitle:@"Title" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething)];
item.width = 300;
item.tintColor = [UIColor whiteColor];
UIBarButtonItem* item2 = [[UIBarButtonItem alloc] initWithTitle:@"Title2" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething)];
NSMutableArray* theItems = [self.navigationController.toolbar.items mutableCopy];
[theItems addObject:item];
[theItems addObject:item2];
[self.navigationController.toolbar setBarStyle:UIBarStyleBlackOpaque];
[self.navigationController setToolbarHidden:NO animated:YES];
[self.navigationController setToolbarItems:theItems animated:NO];
//self.navigationController.toolbarItems = theItems; // Tried both
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
label.text = @"kjhdkjhadsda";
[self.navigationController.toolbar addSubview:label];
이 내용은 올바른 위치에 UILabel의 표시, 다른 아무것도 표시되지 않습니다. UILabel은 저에게 쓸모가 없습니다. 단지 시험 일뿐입니다. 또한 배열에서 요소를 복사하는 대신 새 배열을 할당하려고했습니다. 누락 된 릴리즈를 무시하십시오. 이것은 테스트 코드 일뿐입니다.
나는 이것에 관해 많은 질문을 읽었지만 아무 대답도 작동하지 않는 것 같다. 이 코드에서 어떤 부분이 좋지 않을 수도 있습니다.
지정되었습니다. 새로운 것을 할당하려고했습니다. 어쩌면 저것을 언급하는 것이 분명하지 않은 것일 수도 있습니다, 미안합니다. –
self.navigationController! = nil인지 확인 했습니까? 코드가 정상적으로 보이고 작동해야합니다. 또한 UIViewController의 메소드 [self setToolbarItems : theItems animated : NO]를 통해 도구 모음 항목을 설정하려고합니다. –
Il self.navigationController was nil 툴바가 표시되고 레이블이 제대로 추가 될 것으로 기대하지 않았습니까? 난 그냥 UIViewController에서 setToolbarItems 메서드를 시도했지만, 그것도 존재 몰랐지만 버튼이 나타납니다. 다른 생각? 어쩌면 코드는 괜찮지 만 버튼을 표시하지 못하게하는 다른 것이있을 수 있습니까? –