【问题标题】:Bordered iOS 8 Buttons Swift带边框的 iOS 8 按钮 Swift
【发布时间】:2015-01-15 12:20:52
【问题描述】:

我想要在我的UIButton 周围有一个扁平的白色边框。我希望它在故事板中或以编程方式。我的代码不起作用。

代码:

UIButton.layer.cornerRadius = 2;
UIButton.layer.borderWidth = 1;
UIButton.layer.borderColor = UIColor.whiteColor()

【问题讨论】:

  • 你能详细说明“不工作”吗?是因为您试图在 UIButton 类而不是该类的实例上设置属性吗?
  • UiButton.type 没有名为 layer 的成员是错误
  • 对,UIButton 类型没有您要访问的属性。你需要一个类的实例。
  • 但是in this webpage这个类已经被使用了
  • 我也导入了 QuartzCore

标签: ios swift uibutton


【解决方案1】:

你应该为你的按钮创建引用出口,从故事板到你的 VC,例如 myButton,而不是设置它的属性

myButton.layer.cornerRadius = 2;
myButton.layer.borderWidth = 1;
myButton.layer.borderColor = UIColor.whiteColor().CGColor

【讨论】:

    【解决方案2】:

    您也不必使用代码执行此操作。您可以创建一个可拉伸的图像并将其设置为属性检查器中按钮的背景图像。

    【讨论】:

    • 链接不可用
    • 谢谢,链接已删除
    【解决方案3】:

    正如 0x7fffffff 所说。 UIButton 是可以通过像这样调用其构造函数来实例化的类

    let instanceOfUIButton = UIButton()
    

    然后你可以设置所需的属性:

    instanceOfUIButton.layer.cornerRadius = 2;
    

    【讨论】:

      【解决方案4】:

      在 Xcode 8.2 (Swift 3) 中,您可以使用“身份检查器选项卡”。选择 UIButton 后,搜索“用户定义的运行时属性”。在那里你可以定义这些属性:

      1. 关键路径:layer.cornerRadius; 2-类型:数字,3-值:2
      2. 关键路径:layer.borderWidth; 2-类型:数字,3-值:1
      3. 关键路径:layer.borderColor; 2-Type:颜色,3-Value:“选择白色或其他颜色”

      【讨论】:

        【解决方案5】:

        另一种方法是创建一个 UIButton 类型的子类,而不是创建对每个按钮的引用。然后,您可以在子类中设置属性。接下来,您可以更改情节提要中需要具有相同属性的所有按钮的类。

        class MyButton: UIButton {
        
         override func draw(_ rect: CGRect) {
                super.draw(rect)
                layer.borderWidth = 1.0
                layer.borderColor = UIColor.White
                layer.cornerRadius = 2
            }
        
        }
        

        【讨论】:

          【解决方案6】:

          在顶部添加这一行

          myButton.layer.masksToBounds = true
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-07-21
            • 2013-01-13
            • 1970-01-01
            • 1970-01-01
            • 2016-03-15
            • 2013-09-01
            • 2015-07-29
            • 1970-01-01
            相关资源
            最近更新 更多