如何将自定义的NSTextStorage设置为从故事板创建的UITextView对象?
问题描述:
我想将自定义NSTextStorage
设置为从故事板创建的UITextView
对象。如果真的需要,我可以考虑子类化UITextView
。如何将自定义的NSTextStorage设置为从故事板创建的UITextView对象?
(我知道如果创建从代码我将能够使用init(frame: CGRect, textContainer: NSTextContainer?)
构造一个UITextView
对象。)
夫特是优选的。
答
我可以通过将UITextView
子视图添加到从故事板实例化的UIView
包装器子类来实现此目的。然后,您可以添加一个getter返回框的TextView的实例的视图控制器上,这样就可以将自己作为代表,访问属性等等...
喜欢的东西
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet private weak var textViewBox: TextViewBox! // connected in storyboard
var textView: UITextView! {
return textViewBox?.textView
}
override func viewDidLoad() {
super.viewDidLoad()
textView?.delegate = self
}
}
恐怕这即使你继承了UITextView,因为storyboard实例化了init?(编码器aDecoder:NSCoder),这似乎不可能。您可能能够对解码过程进行逆向工程,但我怀疑这是值得的。 –