大家好,我是ios swift app的新开发者
我有这个问题,我理解oop的结构,但不知道它是如何工作的
假设我有2个类,第一个类是MYCustomInput,第二个类是MYCustomTextView
class MYCustomInput: UIView, UIMyCustomTextView {
let customTextView = MYCustomTextView()
}
class MYCustomTextView: UITextView, UITextViewDelegate {
override init (frame: CGRect = CGRectZero, textContainer: NSTextContainer? = nil )
{
super.init (frame: frame, textContainer: textContainer)
}
实际上会显示customTextView吗?因为根据我的理解,我们没有使用frame和textContainer参数调用任何init。相反,我们只是调用了()。那么实际上我调用了哪个init以及将要显示什么?
答案 0 :(得分:0)
为什么不使用:
class MYCustomTextView: UITextView, UITextViewDelegate {
override init (frame:NSRect, textContainer:NSTextContainer? )
{
super.init(frame: frame, textContainer: textContainer)
}
}
当您输入以下内容时,自动完成将询问您框架和textContainer:
let customTextView = MYCustomTextView(
答案 1 :(得分:0)
MYCustomTextView
只有在subview
添加到屏幕上的视图并且设置为有效frame
时才会显示。
let customTextView = MYCustomTextView()
customTextView.frame = CGRectmake(0,0,100,100)
self.view.addSubView(customTextView)