后裔作为父母的代表

时间:2011-09-02 14:08:38

标签: objective-c ios cocoa-touch

假设我想创建自己的文本视图,其中包含最大字符限制。我希望在下面的级别中进行约束 - 在文本视图中。

我想创建CustomTextView : UITextView,其中customTextView.delegate将是同一个对象 - customTextViewself.delegate = self)。该类的定义为CustomTextView : UITextView <UITextVIewDelegate>,我将实现– textView:shouldChangeTextInRange:replacementText:来执行约束逻辑。

但不知怎的,这不起作用。我可以解释为什么或什么可能是错的以及如何实现我的意图?

1 个答案:

答案 0 :(得分:1)

如果您是UITextView的子类,为什么还需要将自己设置为委托?该委托仅用于通知UITextView之外的代码在UITextView中发生了更改。这意味着首先会通知UITextView对自身的更改,并且使用委托,您可以通知外部代码(UIViewController等)发生的事情。如果您是UITextView的子类,它应该从操作系统接收这些更改通知。

但是,通过文档查看,我无法看到如何仅通过子类跟踪内置事件。这是我在Google搜索中找到的一篇文章:Subclassing a UITextView