3

У меня есть пользовательский значок кнопки назад, который я использую для своего навигационного контроллера. Я использую следующий код в контроллерах представления.Навигация UIBarButtonItem Внешний вид на устройстве различен

var myImage = UIImage(named: "previous"); 
UIBarButtonItem.appearance().setBackButtonBackgroundImage(myImage, forState: .Normal, barMetrics: .Default); 
let backItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) 
navigationItem.backBarButtonItem = backItem 

В результате во время тестирования был таков:

Bar back button item during testing

Но когда мое приложение попала в магазин приложений результат был таков:

enter image description here

Кто-нибудь знает, почему результат другой и как я могу исправить внешний вид? Или, если не так, как еще я могу изменить элемент кнопки «Назад». Это действительно раздражает, потому что у моего приложения есть ошибка, о которой я не знал, и будет принимать 10 дней для обновления, когда найду исправление.

UPDATE Кажется, что в левом элементе текст обтекает текст. Однако я использовал пустую строку, поскольку я не могу использовать nil, потому что использует текст по умолчанию, предоставляемый навигационным контроллером. Таким образом, результат - небольшая упаковка изображения.

ответ

0

Попробуйте этот код:

let backImage = UIImage(named: "BackButton")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 25, 0, 0)) 
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImage, forState: .Normal, barMetrics: .Default) 
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000, -1000), forBarMetrics: .Default)