当我在 Xcode 中创建扩展并需要调用时:
segmentedControl.removeBorders()
我应该从哪里调用它?在 View Controller 的 Swift 文件的 viewDidLoad
中?作为 View Controller 的 Swift 文件中的覆盖函数?在 viewDidLoad 之后插入它给我一个“方法‘segmentedControl’被用作属性;添加 () 来调用它”错误,当我添加括号时它给了我一个
"Value of tuple type '()' has no member 'removeBorders'" error.
命名有问题吗?我将删除边框/分隔线的 .swift 命名为“UISegmentedControl+removeborders.swift”。我是个彻头彻尾的 n00b,如果这有助于解释我为什么坚持这一点的话。任何帮助将不胜感激!谢谢!
引用:针对此问题列出的关于从 UISegmentedControl 中删除边框/分隔线的第三个答案:Remove UISegmentedControl separators completely. (iphone)
最佳答案
在我当前的项目中,我对其进行了子类化,因此调用是在初始化程序中进行的:
class SegmentedControl: UISegmentedControl {
override init(items: [Any]?) {
super.init(items: items)
segmentedControlInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
segmentedControlInit()
}
private func segmentedControlInit() {
removeBorders()
}
}
但是从 viewDidLoad 执行它也应该没问题。
关于swift - 从哪里调用分段的 Control.remove Borders()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40835375/