Кнопка Назад в навигационном контроллере - PullRequest
0 голосов
/ 02 октября 2011

Это очень простой вопрос - но я нигде не мог найти ответ на него. Я бы хотел кнопку возврата, как по умолчанию, которая отображается на панели навигации, но с фоновым изображением. Даже с настройкой, как рассчитать размер / длину кнопки в соответствии с названием? Заранее огромное спасибо за помощь!

UPDATE:

Спасибо, ребята! но ответ, который я наконец реализовал, был таков:

@ реализация UINavigationBar (UINavigationBarCategory)

- (void) drawRect: (CGRect) rect

{

UIColor *color = [UIColor colorWithRed:(13.0/255.0) green:(183.0/255.0) blue:(255.0/255.0) alpha:1.0];

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

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));

CGContextFillRect(context, rect);
self.tintColor = color;
// use a custom background image for my navigation bar

UIImage *img = [UIImage imageNamed: Navigation_img];

[img drawInRect:CGRectMake(0,0,img.size.width,img.size.height)];

} // удовлетворительно работал для меня

@ конец

Ответы [ 3 ]

0 голосов
/ 02 октября 2011

Чтобы узнать ширину конкретного текста, вы можете использовать следующие методы.

 NSString *str=@"Back";

CGSize sizeOfBack = [str sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(30, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];

Позвольте мне объяснить выше два утверждения.

  1. текст, который вы хотите иметь в вашей строке.
  2. Метод sizewithfont позволит вам рассчитать размер.

Здесь sizeOfBack.width даст мне ширину, полученную строкой размером 14System.

Надеюсь, это поможет вам. дайте мне знать по комментариям, если у вас еще есть сомнения по этому поводу.

0 голосов
/ 02 октября 2011
  • Создайте UIButton, используя собственный UIImage, чтобы имитировать желаемую форму.
  • UIImage должен быть растягиваемым типом, то есть вы должны установить leftCapWidth равным размеру стрелки назад
  • Установите заголовок UIButton на то, что вам нравится
  • Создайте новый UIBarButtonItem, используя новую кнопку в качестве пользовательского представления
  • Установите это свойство navigationItem s leftBarButtonItem.

Кнопка автоматически изменит размер в соответствии с вашим названием.

0 голосов
/ 02 октября 2011

Используйте sizeWithFont: метод NSString для расчета размера заголовка.

См. Справочник дополнений NSString UIKit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...