кнопка возврата ios в баре - PullRequest
1 голос
/ 12 июля 2011

возможно ли вставить кнопку на панель инструментов в форме, аналогичной кнопке «Назад», используемой на панели навигации? вот что я имею в виду:

sample

спасибо заранее!

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Вы не можете сделать это, по крайней мере, с помощью кнопки «Назад», со стрелкой на конце слева.backBarButtonItem является только свойством UINavigationItem.

Вы можете использовать прямоугольную кнопку на панели инструментов, чтобы вернуться (хотя я не думаю, что Apple это увлекается ... вам следует прочитать iOS HumanРуководство по интерфейсу),

ИЛИ Вы можете добавить пользовательскую кнопку возврата в другом месте на экране.Например, если ваша панель инструментов находится внизу, вы можете добавить пользовательскую кнопку «Назад» в верхний левый угол экрана, чтобы сохранить порядок.Таким образом, вы сэкономите место на экране, имея панель навигации только для кнопки «назад».

1 голос
/ 18 июля 2012

typeonerror имеет код на github, который содержит то, что вам нужно;это фактически для настройки кнопки «Назад» на контроллере представления, но вы можете использовать ее для создания кнопки «Назад» на панели инструментов:

https://github.com/typeoneerror/BBCustomBackButtonViewController

В частности, код, подобный следующему(что на самом деле пришло из stackoverflow, Настройка UINavigationBar и кнопка возврата ):

+ (UIBarButtonItem *)styledBackBarButtonItemWithTarget:(id)target selector:(SEL)selector;
{
   UIImage *image = [UIImage imageNamed:@"button_back"];
   image = [image stretchableImageWithLeftCapWidth:20.0f topCapHeight:20.0f];

   NSString *title = NSLocalizedString(@"Back", nil);
   UIFont *font = [UIFont boldSystemFontOfSize:12.0f];

   UIButton *button = [UIButton styledButtonWithBackgroundImage:image font:font title:title target:target selector:selector];
   button.titleLabel.textColor = [UIColor blackColor];

   CGSize textSize = [title sizeWithFont:font];
   CGFloat margin = (button.frame.size.height - textSize.height) / 2;
   CGFloat marginRight = 7.0f;
   CGFloat marginLeft = button.frame.size.width - textSize.width - marginRight;
   [button setTitleEdgeInsets:UIEdgeInsetsMake(margin, marginLeft, margin, marginRight)]; 
   [button setTitleColor:[UIColor colorWithRed:53.0f/255.0f green:77.0f/255.0f blue:99.0f/255.0f alpha:1.0f] forState:UIControlStateNormal];   

   return [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...