Bri*_*acy 6 xcode initializer uitextview swift
当我UITextView在Xcode 6 Beta中创建一个新的子类时,会自动提供以下代码.
import UIKit
class TerminalView: UITextView {
init(frame: CGRect) {
super.init(frame: frame)
// Initialization code
}
}
Run Code Online (Sandbox Code Playgroud)
以前的代码(完全由Xcode提供,没有删除)会产生以下错误.
Must call a designated initializer of the superclass 'UITextView'
据我所知,在指定的子类UIView是-initWithFrame:(或斯威夫特,init(frame:)如果是这样的话,为什么不通过Xcode中导致错误提供的代码?我已经添加任何新的实例变量的类,所以什么否则必须初始化.
Kri*_*lci 13
似乎现在唯一可用的初始化程序是:
super.init(frame: CGRect, textContainer: NSTextContainer?)
Run Code Online (Sandbox Code Playgroud)
可以调用
super.init(frame: CGRect.zero, textContainer: nil)
Run Code Online (Sandbox Code Playgroud)
这很可能是初始测试版中的一个错误,将在即将发布的测试版中修复.
class SpecialText: UITextView {
override init(frame: CGRect, textContainer: NSTextContainer?) {
super.init(frame: frame, textContainer: textContainer)
common()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
common()
}
private func common() {
backgroundColor = .yellow
font = .systemFont(ofSize: 26)
textColor = .green
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3629 次 |
| 最近记录: |