Как убрать горизонтальные отступы слева и справа от пользовательских левых и правых элементов UINavigationBar? Кажется, что по умолчанию iOS устанавливает ~ 10 точек заполнения.
Я настраиваю левую и правую кнопки панели навигации (я разочаровался в попытке установить свой собственный backButtonItem, поэтому я просто использую leftBarButtonItem).
В любом случае (влево или вправо) нажатие этих пользовательских кнопок указывает на то, что Apple, похоже, сохраняет некоторые отступы слева от leftBarButtonItem и справа от rightBarButtonItem; независимо от того, насколько широко я делаю пользовательские свойства фона и изображения кнопки UIB, я помещаю ее в элемент кнопки левой / правой панели в качестве его пользовательского представления.
Поскольку у UIBarButtonItems нет «фрейма», к которому я могу получить доступ, я не могу расположить их в пределах их суперпредставления так же, как и обычные UIViews.
Есть предложения по удалению этого отступа по умолчанию? Смотрите прикрепленный снимок экрана, чтобы увидеть бит, который я пытаюсь уменьшить до нулевой ширины. На снимке экрана значок «плюс» смещен вправо, потому что я дал ему вставку; но выделенное фоновое изображение, также предположительно использующее эту вставку, обрезается с правой стороны).
См. Изображение по адресу: https://skitch.com/starbaseweb/rj2e5/ios-simulator
Для справки, вот как я создаю свой пользовательский UIBarButtonItem (в данном случае это правая кнопка):
- (UIBarButtonItem *)customAddButtonItemWithTarget:(id)target action:(SEL)action {
UIButton *customButtonView = [UIButton buttonWithType:UIButtonTypeCustom];
customButtonView.frame = CGRectMake(0.0f, 0.0f, 45.0f, 44.0f);
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView addTarget:target action:action
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customButtonItem = [[[UIBarButtonItem alloc]
initWithCustomView:customButtonView] autorelease];
[customButtonView setImageEdgeInsets:UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f)];
//customButtonItem.imageInsets = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f);
return customButtonItem;
}