[英]Customizing UISegmentedControl border and Background on Xcode8 - Swift 3
您可以通过子类化自定义UISegmentController。 请参见下面的代码。
class SegmentController : UISegmentedControl {
override func awakeFromNib() {
self.layer.borderWidth = 0
self.tintColor = UIColor.clear
self.backgroundColor = UIColor.white
let segAttributesSelected: NSDictionary = [
NSAttributedStringKey.foregroundColor: UIColor.red,
NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: 15)
]
let segAttributes: NSDictionary = [
NSAttributedStringKey.foregroundColor: UIColor.lightGray,
NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: 15)
]
self.setTitleTextAttributes(segAttributesSelected as [NSObject : AnyObject], for: UIControlState.selected)
self.setTitleTextAttributes(segAttributes as [NSObject : AnyObject], for: UIControlState.normal)
}
override func draw(_ rect: CGRect) {
self.layer.shadowColor = UIColor.black.cgColor
self.layer.shadowRadius = 2.0
self.layer.shadowOffset = CGSize.init(width: 0, height: 0)
self.layer.shadowOpacity = 1.0
self.layer.backgroundColor = UIColor.white.cgColor
}
}
最终输出
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.