2011-09-02 58 views
0

可以說我想用最大字符數約束創建自己的文本視圖。我想在文本視圖中在下面的層次上進行約束。作爲父代理的後代

我想創建CustomTextView : UITextView其中customTextView.delegate將是相同的對象 - customTextViewself.delegate = self)。該類的定義將是CustomTextView : UITextView <UITextVIewDelegate>,我會實現– textView:shouldChangeTextInRange:replacementText:做約束邏輯。

但不知何故,這不起作用。我可以解釋爲什麼或者什麼可能是錯誤的,以及如何實現我的意圖?

回答

1

如果您是UITextView的子類,爲什麼您需要將自己設置爲委託?該委託僅用於通知UITextView之外的代碼,以便在UITextView中更改某些內容。這意味着首先會向UITextView通知對自身的更改,並且使用委託可以通知外部代碼(UIViewController等)發生了什麼。如果您是UITextView的子類,它應該從OS接收這些更改通知。

但是,通過查看文檔,我看不到如何通過子類跟蹤內置事件。以下是我在Google搜索中找到的一篇文章:Subclassing a UITextView

+0

是的,也許會通知'UITextView'。但'CustomTextView'也通知了嗎?怎麼樣? – user500

+0

謝謝,我已經用輔助對象做了。但現在我對提到的概念感興趣。 – user500

+0

我想我沒有得到上述的概念。你想攔截由UITextView生成的事件,而我參考的文章就是這麼做的。 – Moebius