我想創建一個UITextView,你可以點擊它的任何地方並開始在那個位置打字。控件的默認行爲是在最後一個字符結束時開始輸入。所以,如果我有一個沒有文本的UITextView,並在控件中間點擊,我想要在那裏打字 - 而不是在左上角。iPhone SDK:如何創建一個UITextView,在您點擊時插入文本?
實現此行爲的最佳方法是什麼?我考慮將視圖的默認文本值設置爲3000個空格字符或類似的東西,但這似乎不是一個優雅的解決方案。建議?
我想創建一個UITextView,你可以點擊它的任何地方並開始在那個位置打字。控件的默認行爲是在最後一個字符結束時開始輸入。所以,如果我有一個沒有文本的UITextView,並在控件中間點擊,我想要在那裏打字 - 而不是在左上角。iPhone SDK:如何創建一個UITextView,在您點擊時插入文本?
實現此行爲的最佳方法是什麼?我考慮將視圖的默認文本值設置爲3000個空格字符或類似的東西,但這似乎不是一個優雅的解決方案。建議?
我建議派生自UITextView創建一個處理水龍頭的自定義視圖。您將要重寫以下方法,大概是:
touchesBegan:withEvent
touchesMoved:withEvent
touchesEnded:withEvent
touchesCancelled:withEvent
確保userInteractionEnabled
酒店YES的默認值。重寫hitTest:withEvent
和pointInside:withEvent
以確定用戶點擊視圖中的哪個位置。
請確保閱讀iOS編程指南中的Responding to Events部分,並參閱Event Handling Guide for iOS瞭解更多詳情。
無論如何,一旦您找出用戶觸摸的位置,您可以修改文字或重新定位克拉。
我會試試看看它是如何發展的。我已經嘗試了很多次來處理UITextView上的觸摸事件,並且由於它傾向於吃觸摸事件,所以一般不會很順利。我從來沒有嘗試過使用命中測試。 – memmons 2010-10-29 18:12:48
如果可能,你能詳細解釋一下代碼嗎?因爲許多牧師都無法理解它。 – 2012-01-12 11:31:45
請問你可以發佈代碼嗎?我不能從本科林斯的回答中得到答案。所以請幫助我,並希望它也會對其他人有所幫助。 – 2012-01-17 07:19:28