自定义UIButton圆角

时间:2011-11-02 06:15:50

标签: objective-c ios xcode uibutton

我正在自定义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角变圆?

3 个答案:

答案 0 :(得分:3)

UIView对象有一个名为layer(CALayer)的属性,而layer具有cornerRadius属性。

答案 1 :(得分:2)

使用自定义图像创建自定义按钮作为普通UIButtons。然后使用新的UIButton创建UIBarButtonItems作为自定义视图(您可以在UIBarButtonItem类引用中看到如何执行此操作)。

然后,设置视图控制器的navigationItem以将新的UIBarButtonItems作为leftButtonItem,rightButtonItem等等。

答案 2 :(得分:0)

而不是这样做。取一个UIButton,然后将其添加到导航按钮。