我目前有一个UINavigationBar的leftBarButton的按钮图像。有没有办法消除这个按钮和UINavigationBar左边缘之间的空间?我想过为UINavigationBar的背景制作一个自定义图像,但我希望能够使用在其他屏幕上生成的后退按钮。想法?
答案 0 :(得分:0)
导航栏本身的布局逻辑将要尝试在左侧维护该空间。
您可以尝试在设置导航项(UIBarButtonItem initWithCustomView :)时指定自定义视图,并传入具有负x原点的视图 - 但我认为导航栏会忽略任何此类原点。 (您也可以尝试保留对该视图的引用,并在导航栏完成其布局后将其移动到左侧)
另一种选择是尝试创建自己的自定义导航栏 - 可能是将自定义视图放在导航栏的中心,并将其拉伸以覆盖宽度和宽度。酒吧的高度。
答案 1 :(得分:0)
试试这个,它对我有用:
CGRect frame = self.navigationController.navigationBar.frame;
frame.origin.x = -10;
self.navigationController.navigationBar.frame = frame;
基本上,将导航栏x坐标设置为负值而不是条形项。
答案 2 :(得分:0)
左边的示例,您应该在设置原始项目后添加此项,或者如果您使用情节提要设置按钮,则应在viewdidload中添加。
NSMutableArray *buttons = [[NSMutableArray alloc] init];
UIBarButtonItem *spacerItem = [[UIBarButtonItem alloc] init];
[buttons addObject:spacerItem];
for(UIBarButtonItem *item in self.leftBarButtonItems){
[buttons addObject:item];
}
[self setLeftBarButtonItems:[NSArray arrayWithArray:buttons] animated:NO];