2012-05-05 2 views
1

Я пытаюсь создать панель инструментов программным способом в классе, который подклассы ABPersonViewController. Вот что я сделал.Настройка UIToolBar программно

UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered target:self  action:@selector(onToolbarTapped:)]; 
NSArray *items = [NSArray arrayWithObjects: customItem, nil]; 
[self.navigationController.toolbar setItems:items animated:NO]; 
//[self setToolbarItems:[NSArray arrayWithObject:items]]; 
self.navigationController.toolbar.barStyle = UIBarStyleBlackOpaque; 
[self.navigationController setToolbarHidden:NO animated:YES]; 

Панель инструментов не отображается. Что я делаю неправильно здесь.

Edit: я редактировал свой код следующим образом

UIToolbar *toolbar = [[[UIToolbar alloc] init]autorelease]; 
toolbar.barStyle = UIBarStyleBlackOpaque; 
toolbar.tintColor = [UIColor blackColor]; 
toolbar.frame = CGRectMake(0, 372, self.view.frame.size.width, 45); 
UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithTitle:unblockContact style:UIBarButtonItemStyleBordered target:self  action:@selector(onToolbarTapped:)]; 
customItem.tintColor = [UIColor blackColor]; 
NSArray *items = [NSArray arrayWithObjects:customItem, nil]; 
[toolbar setItems:items animated:NO]; 
[self.view addSubview:toolbar]; 
[customItem release]; 

Как я могу сделать barbuttonitem занимают всю панель. Пользователь не должен чувствовать, что на панели инструментов есть barbuttonitem. Могу ли я сделать это, или есть альтернативный способ? Помощь нужна. Благодарю.

+0

это генерирует ошибку или просто вы не доходя для просмотра на панели инструментов или buttonItem? – Jaume

+0

На данный момент теперь создаются ошибки. Но панель инструментов не появляется. –

ответ

1

UIToolbar подкласс UIView, вы должны добавить его в любой другой точки зрения, следующий метод является то, что я успешно используют,

UIToolbar *toolbar = [[UIToolbar alloc] init]; 
toolbar.frame = CGRectMake(0, 0, self.view.frame.size.width, 45); 
NSMutableArray *items = [[NSMutableArray alloc] init]; 
[items addObject:[[UIBarButtonItem alloc] initWithObjects...]]; 
[toolbar setItems:items animated:NO]; 
[self.view addSubview:toolbar]; 
+0

У меня есть только одна кнопка на панели инструментов. Таким образом, он должен заполнить всю панель инструментов –

+0

, так что теперь у вас есть панель инструментов с одной кнопкой, но ее аспект по умолчанию, правильно? – Jaume

+0

Да. Мне нужно иметь панель инструментов с одним barbuttonitem, который заполняет всю панель инструментов. Нельзя отличить barbuttonitem от панели инструментов –

Смежные вопросы