【问题标题】:UISegmentedControl customize by codeUISegmentedControl 通过代码自定义
【发布时间】:2017-11-11 01:15:21
【问题描述】:

我的 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) {
 }

你能帮帮我吗?非常感谢!

【问题讨论】:

  • 这似乎不清楚。但我认为你的问题是外观的定制!正确的?如果是这样,你不应该为它创建一个类。
  • 你有没有尝试打印一些文本来看看程序是否进入了这个类?
  • 我想通过代码自定义我的段控件(例如删除边框或更改半径)。当我在子类中打印文本时,它也会打印:(

标签: swift class subclass uisegmentedcontrol


【解决方案1】:

来自苹果文档:

nib 加载基础架构向从 nib 存档重新创建的每个对象发送 awakeFromNib 消息,但前提是存档中的所有对象都已加载和初始化

试试这个:

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
}

【讨论】:

  • 有效!上帝保佑你!
猜你喜欢
  • 2010-11-19
  • 1970-01-01
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2016-05-13
相关资源
最近更新 更多