Пользовательский вид сзади кнопки - PullRequest
1 голос
/ 27 августа 2009

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

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.frame = CGRectMake(0, 0, 51, 31);
[backBtn setImage:[UIImage imageNamed:@"nav_btn_back.png"] forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *back = [[[UIBarButtonItem alloc] initWithCustomView:backBtn] autorelease];
self.navigationItem.backBarButtonItem = back;   

Ответы [ 2 ]

0 голосов
/ 23 мая 2016

Вы можете использовать setBackButtonBackgroundImage ( Apple doc )

Использование:

let backImg: UIImage = UIImage(named: "img_name")!
backButton.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)

Если вы используете его в на всех контроллерах , используйте Внешний вид :

let backImg: UIImage = UIImage(named: "img_name")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
0 голосов
/ 27 августа 2009

Не уверен, почему это не работает. Однако я понял, что могу просто установить эту пользовательскую кнопку как leftBarButtonItem для моего представления

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