UISegmentedControl按代码自定义

时间:2017-11-10 16:44:58

标签: swift class subclass uisegmentedcontrol

我的UISegmentedControl有问题。我创建了段类:

import UIKit

class CustomSegmentedControl: UISegmentedControl {

    func AwakeFromNib() {
    super.awakeFromNib()

    let myColor : UIColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
    self.layer.masksToBounds = true
    self.layer.borderColor = myColor.cgColor
    self.layer.borderWidth = 0.5
    self.layer.cornerRadius = 8

    }
}

当我尝试改变它的东西而没有改变。在我的主ViewController中,我标记了我的UISegmentedControl的类文件。

这是ViewController中的func定义:

 @IBAction func ShowInterval(_ sender: UISegmentedControl) {
 }
你能帮帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:0)

来自Apple doc:

  

nib-loading基础结构将awakeFromNib消息发送到从nib存档重新创建的每个对象,但只有在存档中的所有对象都已加载并初始化之后

试试这个:

func layoutSubviews() {
    super.layoutSubviews()
    let myColor : UIColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
    self.layer.masksToBounds = true
    self.layer.borderColor = myColor.cgColor
    self.layer.borderWidth = 0.5
    self.layer.cornerRadius = 8
}