如何在navBar上偏移UIBarButtonItem内的UIButton图像?

Jam*_*mes 6 iphone uibutton uibarbuttonitem ios

这是我用来在我的导航栏上插入自定义UIBarButtonItem作为leftButton的代码.问题是按钮太靠近左边缘了,我不知道如何在不使用左侧填充的另一个图像的情况下缩进它?

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];
Run Code Online (Sandbox Code Playgroud)

我试过调整框架,edgeInsets,一切都没有运气.barButtonItem仍然太靠近左边缘.有没有办法抵消按钮的图像?

谢谢

har*_*man 4

    UIImage *buttonImage = [UIImage imageNamed:@"Close.png"];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:buttonImage forState:UIControlStateNormal];
    button.imageEdgeInsets = UIEdgeInsetsMake(0, -40, 0, 0);
    button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);

    [button addTarget:self action:@selector(donePressed:) forControlEvents:UIControlEventTouchUpInside];

    //create a UIBarButtonItem with the button as a custom view
    UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
    self.navigationItem.leftBarButtonItem = customBarItem;
Run Code Online (Sandbox Code Playgroud)