Как добавить кнопку «следующий» и «предыдущий» в сегментированный контроллер на панели навигации при разработке приложений для iphone? - PullRequest
1 голос
/ 24 ноября 2011

У меня большие проблемы .... Как я могу установить следующую и предыдущую кнопку / стрелку на моей сегментированной панели ... если кому-то нужно кратко рассказать о моей проблеме, пожалуйста, посмотрите эту ссылку ... Как я могу добавить следующую и предыдущую кнопку на сегментированном контроллере?

Я приложил изображение, чтобы понять проблему ... так что кто-нибудь, помогите мне, пожалуйста .... enter image description here

ПРИМЕЧАНИЕ: В моем текущем проекте есть более 5 кнопок для добавления на сегментированную полосу, поэтому, когда я нажму следующую / предыдущую стрелку, тогда сегментированная полоса должна быть перемещена с его места. Если мой вопрос вам тогда не понятен пожалуйста, смотрите мою другую ссылку ....

Заранее спасибо

EDIT:

UIBarButtonItem *previousBarButtonItem = [[UIBarButtonItem alloc] //init];
                                      initWithTitle:@"<"
                                      style:UIBarButtonItemStyleBordered
                                      target:self 
                                      action:@selector(previousBarButtonAction:)];
self.navigationItem.leftBarButtonItem = previousBarButtonItem;

[previousBarButtonItem release];

UIBarButtonItem *nextBarButtonItem = [[UIBarButtonItem alloc] //init];
                                      initWithTitle:@">"
                                      style:UIBarButtonItemStyleBordered
                                      target:self 
                                      action:@selector(nextBarButtonAction:)];
self.navigationItem.rightBarButtonItem = nextBarButtonItem;

[nextBarButtonItem release];

//This Portion For UIToolbar

topToolBar = [UIToolbar new];
topToolBar.barStyle = UIBarStyleDefault;
[topToolBar sizeToFit];
topToolBar.frame = CGRectMake(50, 410, 280, 50);

//Add buttons
UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                                                             target:self
                                                                             action:@selector(pressButton1:)];

UIBarButtonItem *systemItem2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
                                                                             target:self
                                                                             action:@selector(pressButton2:)];

UIBarButtonItem *systemItem3 = [[UIBarButtonItem alloc]
                                initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
                                target:self action:@selector(pressButton3:)];

//Use this to put space in between your toolbox buttons
UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                          target:nil
                                                                          action:nil];

//Add buttons to the array
NSArray *items = [NSArray arrayWithObjects: systemItem1, flexItem, systemItem2, flexItem, systemItem3, nil];

//release buttons
[systemItem1 release];
[systemItem2 release];
[systemItem3 release];
[flexItem release];

//add array of buttons to toolbar
[topToolBar setItems:items animated:NO];

self.navigationItem.titleView = topToolBar;

это моя текущая позиция кодирования, теперь у меня есть 4 кнопки на панели инструментов, но только 3 кнопки видны, поэтому я хочу переместить эту панель инструментов, когда я нажму следующую или предыдущую кнопку, чтобы увидеть другие кнопки, которые находятся вне рамки панели инструментов. ??

EDIT:

Я смог прокрутить элемент панели навигации с помощью анимации uiview, но теперь моя проблема в том, что когда я нажимаю кнопку «следующий / предыдущий», то она перемещается из текущего места в соответствии с изменением координаты панели инструментов и перемещением по пред / следующий баритем кадр, которого нет в элементах панели инструментов. но это должно быть в uiview и должно изменить координаты в uiview, а не вне поля зрения ... теперь скажите мне, что я могу сделать для этой проблемы.

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Во-первых, на рисунке вы видите NavigationBar UIToolBar. К сожалению, невозможно добавить больше элементов управления на UINavigationBar. Но вы можете получить точно такой же пользовательский интерфейс с UIToolBar, где вы можете добавить любые элементы управления.

Так что для достижения этого используйте UIToolBar, а не UINavigationBar. Также используйте UIBarButtonItem с пользовательским заголовком для достижения Следующая и Предыдущая функциональность.

EDIT

Вот несколько ссылок на пример UIToolBar

  1. http://www.codeproject.com/Articles/43658/How-to-Make-a-Toolbar-with-UIToolbar
  2. http://osmorphis.blogspot.com/2009/05/multiple-buttons-on-navigation-bar.html
  3. http://atastypixel.com/blog/making-uitoolbar-and-uinavigationbars-background-totally-transparent/

Но это все объясняется использованием кодов. Вместо использования Interface Builder становится слишком просто использовать UIToolBar (если кодирование не так важно).

0 голосов
/ 24 ноября 2011

Я думаю, что это немного усложняется - вы не можете просто установить текст двух UIBarButtonItems на "<" и ">"?

...