2016-08-14 1 views
0

Я устанавливаю кнопку возврата с помощью leftItemsSupplementBackButton для navigtaionItem, а затем устанавливаю UIBarButtonItem в качестве моего leftBarButton. Проблема в том, что кнопка слишком далеко от кнопки «Назад». Как я могу контролировать его местоположение и сделать его смежным с кнопкой «Назад»?UIBarButtonItem слишком далеко от кнопки возврата

Ниже образец кода устанавливает кнопку «Назад» и элемент «Левая панель».

UIBarButtonItem* bla = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"delete"] style:UIBarButtonItemStyleDone target:self action:nil]; 
self.navigationItem.leftItemsSupplementBackButton = YES; 
self.navigationItem.leftBarButtonItem = bla; 

Прилагаемый скриншот. enter image description here

Спасибо!

ответ

0

Попробуйте это и измените значение (CGFloat слева) по мере необходимости.

//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) 
    self.navigationItem.leftBarButtonItem.imageInsets = UIEdgeInsetsMake(0, -25, 0, 0); 
0

Вы должны добавить это заявление следующий код:

[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(0, -40, 0, 0)];//may be not -40 ,you can alter this argument. 
          //UIEdgeInsetsMake(topMargin, leftMargin,buttomMargin,rightMargin) 

так:

enter image description here

Лучший способ изучить этот метод использует его!

Таким образом, вы должны передать другой аргумент для этого метода ' setImageInsets:(UIEdgeInset)', как это:

//UIEdgeInsetsMake(topMargin, leftMargin,buttomMargin,rightMargin) 
[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(-50, 0, 0, 0)]; 
[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(0, -50, 0, 0)]; 
[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(0, 0, 50, 0)]; 
[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(0, 0, 0, 50)]; 

Когда вы обнаруживаете формы изображения изменены, см ниже:

Если вы нашли ваш форма изображения self.navigationItem.leftBarButtonItem изменена, вы должны ввести код следующим образом:

[self.navigationItem.leftBarButtonItem setImageInsets:UIEdgeInsetsMake(0, -40, 0, 40)]; 

Причина заключается в том, что: enter image description here

Надеется, что это поможет вам!

Смежные вопросы