我正在自定义UINavigationBar,并且必须将自定义背景图像设置为导航按钮。这样做是这样的:
for (UIView *view in self.navigationController.navigationBar.subviews) {
if ([[[view class] description] isEqualToString:@"UINavigationButton"]) {
UINavigationButton *button = {(UINavigationButton *)view};
[button setBackgroundImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateHighlighted];
}
}
这不会被Apple拒绝吗? 如何使UIButton / UIView角变圆?
答案 0 :(得分:3)
UIView
对象有一个名为layer
(CALayer)的属性,而layer
具有cornerRadius
属性。
答案 1 :(得分:2)
使用自定义图像创建自定义按钮作为普通UIButtons。然后使用新的UIButton创建UIBarButtonItems作为自定义视图(您可以在UIBarButtonItem类引用中看到如何执行此操作)。
然后,设置视图控制器的navigationItem以将新的UIBarButtonItems作为leftButtonItem,rightButtonItem等等。
答案 2 :(得分:0)
而不是这样做。取一个UIButton,然后将其添加到导航按钮。