Как мога да компенсирам изображението на UIButton вътре в UIBarButtonItem на navBar?

Ето кода, който използвам, за да вмъкна персонализиран UIBarButtonItem като левия бутон в моята навигационна лента. Проблемът е, че бутонът е твърде близо до левия ръб и не мога да разбера как да го отстъпя малко, без да използвам друго изображение с подложка отляво?

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
btn.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
[btn setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
self.myBtn = btn;
[btn release];

UIBarButtonItem *barBtn = [[UIBarButtonItem alloc] initWithCustomView:self.myBtn];
self.myBarBtn = barBtn;
self.myBarBtn.imageInsets = UIEdgeInsetsMake(0, 5, 0, 0);
[self.navigationItem setLeftBarButtonItem:self.myBarBtn animated:YES];
[barBtn release];

Опитах да коригирам рамката, edgeInsets, всичко без успех. BarButtonItem все още е твърде близо до левия ръб. Има ли някакъв начин за компенсиране на изображението за бутона?

Мерси


person James    schedule 21.08.2011    source източник


Отговори (1)


има персонализиран ляв или десен бутон с бърз език

let buttonEdit: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
buttonEdit.frame = CGRectMake(0, 0, 40, 40)
buttonEdit.setImage(UIImage(named:"nav-right-Y.png"), forState: UIControlState.Normal)
buttonEdit.addTarget(self, action: "rightNavItemEditClick", forControlEvents: UIControlEvents.TouchUpInside)
var rightBarButtonItemEdit: UIBarButtonItem = UIBarButtonItem(customView: buttonEdit)
self.navigationItem.rightBarButtonItem = rightBarButtonItemEdit
person fatihyildizhan    schedule 22.01.2015
comment
Как мога да компенсирам, след като използвам този подход? - person senty; 23.04.2016