@rejjer

Как изменить позицию иконки UIBarButtonItem в iOS11?

Я использую иконки из SwiftIcons (вектор, имхо, больше нравится, чем несколько картинок для разных разрешений @1-3, или я не прав?).
Я добавляю кастомную стрелку 'назад', если просто вставить иконку в навбар, то она будет отображаться не там, где отображается такая же иконка по умолчанию, поэтому добавляю fixedSpace с отрицательной шириной:
let manuButton = UIBarButtonItem()
manuButton.setIcon(icon: .ionicons(.chevronLeft), iconSize: 24, color: .white, cgRect: CGRect(x: 0, y: 0, width: 24, height: 24), target: self, action: #selector(menuButtonClick))
let negativeSpacer:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
negativeSpacer.width = -13.7;
self.navigationItem.leftBarButtonItems = [negativeSpacer, manuButton]

До iOS11 все работало, но теперь оно не хочет применять отрицательную ширину:
5HxXW.png
Как можно исправить это дело?
  • Вопрос задан
  • 392 просмотра
Решения вопроса 1
@rejjer Автор вопроса
Можно добавить отступы к кнопке, если иконку вставлять как картинку для UIBarButtonItem
let menuButton = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(menuButtonClick))
menuButton.image = UIImage.init(icon: .ionicons(.chevronLeft), size: CGSize(width: 24, height: 24))
menuButton.imageInsets = UIEdgeInsetsMake(0, -13.7, 0, 0)
self.navigationItem.leftBarButtonItem = menuButton
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы