objective-c - 后代作为 parent 的代表

标签 objective-c ios cocoa-touch

假设我想创建自己的 TextView ,并限制最大字符数。我想在下面的级别中执行该约束 - 在 TextView 中。

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

但不知怎的,这不起作用。我能否得到解释为什么或可能出现什么问题以及如何实现我的意图?

最佳答案

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

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

关于objective-c - 后代作为 parent 的代表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284677/

相关文章:

iOS swift : Eliminate trailing zeroes for CGFloat

ios - 淡出 UICollectionView 中的项目

objective-c - 孤立的核心数据对象没有被销毁

iphone - 从我的 iPhone 应用程序中删除项目时冒烟(或)爆炸动画

ios - 通过公共(public)方法访问私有(private)接口(interface)属性

IOS 应用卡在 IOS 版本 10.2.1 的启动画面中,没有错误

iphone - 释放对象时内存不会减少

iphone - UIDatepicker 日期只显示星期一的日期

objective-c - 滑动时无法识别的选择器

ios - 我可以创建一个没有 Storyboard的 WatchKit 应用程序(完全在代码中)吗?