UIBarButtonItem: смещения изображения

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

let image = UIImage(named: "Back")
self.navigationBar.backIndicatorImage = image
self.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "Back")
self.navigationBar.tintColor = UIColor.blackColor()

Но вот результат: введите здесь описание изображения

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

self.navigationBar.backIndicatorImage = image?.imageWithAlignmentRectInsets(UIEdgeInsetsMake(10, 40, 0, 0))

Но не работает, то же самое. Есть идеи?


person Nikita Zernov    schedule 04.11.2015    source источник


Ответы (1)


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

UINavigationBar.appearance().setTitleVerticalPositionAdjustment(5.0, forBarMetrics: UIBarMetrics.Default)

Чтобы переместить его вправо, попробуйте добавить гибкий пробел, например:

let space = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
person Abhinav    schedule 04.11.2015
comment
Чтобы переместить его вниз, я поместил его в метод viewWillAppear, но он не работает. - person Nikita Zernov; 04.11.2015
comment
Можете ли вы попробовать переместить кнопку панели с помощью navBar.leftBarButtonItem?.backgroundVerticalPositionAdjustmentForBarMetrics(UIBarMetrics.Default). - person Abhinav; 04.11.2015
comment
Вместо этого добавление пользовательской кнопки может дать вам больше контроля над позиционированием. Взгляните на этот ObjC SO Thread, чтобы получить представление. - person Abhinav; 04.11.2015