UIButton в UIBarButtonItem не отображается - PullRequest
7 голосов
/ 04 ноября 2010

На моем контроллере табличного представления загружено следующее:

UIButton *change_view = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[change_view setTitle:@"List" forState:UIControlStateNormal];
[change_view addTarget:self action:@selector(toggleView:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView: change_view];    
self.navigationItem.rightBarButtonItem = button;    

Когда я запускаю программу, она не отображает заголовок или кнопку с закругленными прямоугольниками.Однако, если я изменю тип на UIButtonTypeInfoLight, он появится ... так в чем проблема?

Ответы [ 2 ]

16 голосов
/ 17 июля 2012

Я бы предпочел путь ниже, чтобы установить границы кнопки.

[button setTitle:@"Title" forState:UIControlStateNormal];
[button sizeToFit];
6 голосов
/ 04 ноября 2010

Попробуйте установить соответствующий кадр на change_view.

Когда вы используете UIButtonTypeInfoLight, кнопка типа использует некоторый встроенный размер (вероятно, зависит от используемого для него значка), с типом UIButtonTypeRoundedRect применяется рамка по умолчанию, которая должна быть CGRectZero прямоугольная.

...