2009-08-06 2 views
2

Я хочу добавить настраиваемые кнопки со стрелками в панель UINavigation, которая находится наверху.Как добавить настроенную кнопку изображения в UINavigationBar в iPhone sdk

Что я хочу сделать, это создать пользовательскую кнопку изображения и поместить ее над панелью. Когда я попробовал, добавив для просмотра как:

[self.view addSubview:leftArrowButton];//(Where leftArrowButton is a UIButton with an image of arrow) 

Этих не работает, как она помещает кнопку, но кнопка получает спрятана под панелью и не перекрывается на нем.

Любая помощь приветствуется. Благодарю.

ответ

7

Try выполнив следующие действия:

UINavigationBar *bar = self.navigationController.navigationBar; 
bar.titleView = leftArrowButton; // change title view 
bar.leftBarButtonItem = leftArrowButton; // if ref is UIBarButtonItem 

Вы должны рассмотреть с помощью UIBarButtonItem, а не UIButton.

Вы также можете настроить кнопки на панели, а также с изображениями (с помощью initWithImage:style:target:action:):

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithImage:myImage 
          style:UIBarButtonItemStyleBordered 
          target:self action:@selector(buttonPressed:)]; 
bar.leftBarButtonItem = item; 
[item release]; 

Вы также можете использовать любой вид вам нравится (с некоторым учетом размера) с использованием initWithCustomView::

UIBarButtonItem *item = [[UIBarButtonItem alloc] 
          initWithCustomView:leftArrowButton]; 
bar.leftBarButtonItem = item; 
[item release]; 
+0

Я знаю, что могу использовать barButtonItem, но потом я не могу настроить кнопку. Я хочу настроить кнопку. – rkb

+0

Обновлено сообщение, чтобы описать, как настроить 'UIBarButtonItem'. – notnoop