【问题标题】:View border Color not changing查看边框颜色不变
【发布时间】:2017-05-16 10:17:53
【问题描述】:

我有一个视图,我用这个运行时属性做边框:

问题是layer.borderColor,当我设置borderColor 时,我的边框消失了,但是当我不设置border Color 时,我有一个我不想要的黑色边框 有什么想法吗?

【问题讨论】:

  • view.layer.borderColor = UIColor.lightGrayColor().CGColor
  • 对于初学者,“运行时”属性在代码中设置。您的屏幕截图来自 IB - 这是“设计时间”。向我们展示您的代码,也许我们可以帮助您。另外,这些属性用于什么类型的“视图”? UIView、UIButton 等。谢谢。

标签: swift xcode storyboard border layer


【解决方案1】:

您遇到此问题是因为layer.borderColor 想要CGColor 而从User defined runtime attributes 您只能设置UIColor 而不是CGColor,当您不设置颜色时,它将采用默认borderColor 和即black 颜色。要设置borderColor,您需要像这样以编程方式设置它。

斯威夫特 3

yourView.layer.borderColor = UIColor.red.cgColor //set your color here

Swift 2.3 或更低版本

yourView.layer.borderColor = UIColor.redColor().CGColor //set your color here

【讨论】:

    【解决方案2】:

    除了@NiravD 的建议之外,您还需要在视图的layer 上同时设置borderColorborderWidth 才能看到边框。

    Swift 3 和 Swift 4:

    circle.layer.cornerRadius = 5.0
    circle.layer.borderColor = UIColor.red.cgColor
    circle.layer.borderWidth = 2.0 
    

    【讨论】:

      【解决方案3】:

      在 Swift 3.0 中

        @IBOutlet weak var viewMainCell: UIView!
      
        viewMainCell.layer.shadowOpacity = 0.5
        viewMainCell.layer.shadowRadius = 5
        viewMainCell.layer.shadowColor = UIColor.black.cgColor
        viewMainCell.layer.cornerRadius = 5
        viewMainCell.layer.masksToBounds = false
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 2013-04-29
        • 1970-01-01
        • 2017-09-16
        相关资源
        最近更新 更多