UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setImage:[UIImage imageNamed:@"addButton.png"] forState:UIControlStateNormal];
[addButton addTarget:self action:@selector(addSubProperty:) forControlEvents:UIControlEventTouchUpInside];
[addButton setFrame:CGRectMake(0, 0,51,44)];
UIBarButtonItem *firstBarButton = [[UIBarButtonItem alloc] initWithCustomView:addButton];
UIButton *deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
[deleteButton setImage:[UIImage imageNamed:@"deleteButton.png"] forState:UIControlStateNormal];
[deleteButton addTarget:self action:@selector(deleteProperty:) forControlEvents:UIControlEventTouchUpInside];
[deleteButton setFrame:CGRectMake(0, 0,50,44)];
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[negativeSpacer setWidth:-10];
UIBarButtonItem *secondBarButton = [[UIBarButtonItem alloc]initWithCustomView:deleteButton];
NSArray *navBtnArr = [[NSArray alloc] initWithObjects:negativeSpacer,firstBarButton,secondBarButton, nil];
self.navigationItem.rightBarButtonItems = navBtnArr;
在此之后,我得到了这个结果,正如你们所看到的,我确实能够将我的第一个栏按钮向负间隔器左侧移动,但我不知道如何减少这两个按钮之间的空间。
通过这样做,我的背部也会消失,任何想法都会非常感激。
最佳答案
使用 Xcode 6.4,这对我来说只需 1 行代码就可以完美地工作! https://stackoverflow.com/a/26469607/3634990
self.myBarButtonItem.imageInsets = UIEdgeInsetsMake(0, 25, 0, -25);
请注意,这会移动图像位置,但不会移动触摸区域,因此仅当您想稍微移动图像时,这才是一个很好的解决方案。
关于ios7 - 如何减少 UINavigationBar IOS 7 中 UIBarButton 项目之间的填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20537425/