【问题标题】:Custom UIButton rounded corners自定义 UIButton 圆角
【发布时间】:2011-11-02 06:15:50
【问题描述】:

我正在自定义 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];
     }
}

这不会被苹果拒绝吗? 如何使 UIButton/UIView 角变圆?

【问题讨论】:

    标签: objective-c ios xcode uibutton


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 好的。看起来没有其他选择。谢谢。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多