假设我想创建自己的文本视图,其中包含最大字符限制。我希望在下面的级别中进行约束 - 在文本视图中。
我想创建CustomTextView : UITextView
,其中customTextView.delegate
将是同一个对象 - customTextView
(self.delegate = self
)。该类的定义为CustomTextView : UITextView <UITextVIewDelegate>
,我将实现– textView:shouldChangeTextInRange:replacementText:
来执行约束逻辑。
但不知怎的,这不起作用。我可以解释为什么或什么可能是错的以及如何实现我的意图?
答案 0 :(得分:1)
如果您是UITextView的子类,为什么还需要将自己设置为委托?该委托仅用于通知UITextView之外的代码在UITextView中发生了更改。这意味着首先会通知UITextView对自身的更改,并且使用委托,您可以通知外部代码(UIViewController等)发生的事情。如果您是UITextView的子类,它应该从操作系统接收这些更改通知。
但是,通过文档查看,我无法看到如何仅通过子类跟踪内置事件。这是我在Google搜索中找到的一篇文章:Subclassing a UITextView