2010-03-23 48 views
3

我想實現一個控件來編輯將顯示多種顏色的文本的文本。我所嘗試的解決方案都不夠好。關於在iPhone上實現自定義UITextView界面的提示?

  1. UITextView無法完成此操作。所有的文字必須是相同的顏色。
  2. 使用CoreGraphics繪製文本不允許選擇文本。
  3. 在Mobile Safari上不能將UIWebView,DIV和PRE標籤設置爲contentEditable
  4. 當前正在使用屏幕外的TEXTAREA和屏幕上的DIV來播放呈現的文本。這很有效,除了支持所有這些在同一時間似乎不可能:點擊類型,點擊移動光標,點擊並按住選擇/複製/粘貼。

任何人有任何關於這個困境的提示?

我一直在試圖找到任何預先存在的圖書館,這將在一個很好的方式完成這個,沒有運氣。我願意接受任何想法!

回答

3

嗯,只是把我的想法從我的...讓我們說,帽子。

你可以把一個透明的UITextfield放在繪製文本的視圖上嗎?如果背景清晰,文字顏色清晰,則用戶無法察覺,但仍應對所有命令作出響應。隨着用戶輸入和編輯文本,您可以在下方的視圖上繪製結果。

我認爲這個選擇不會有任何修改。當用戶選擇明文時,它應該創建自動選擇繪製文本的錯覺。

+0

即使滾動成爲一個問題,它會變得非常接近。如何在滾動時讓兩個文本窗格保持同步? – Alex 2010-04-10 08:26:03

0

這是一個想法。我不知道它是否會起作用。

如果您只使用顏色而不使用樣式,則帶有彩色文本的UIWebView可能以與UITextView完全相同的方式佈置文本。你可以通過一個UIWebView在UITextView中添加隱形墨跡(文本和背景完全透明),並用html中的顏色鏡像內容。我認爲你可以使用javascript和彩色佈局一起滾動。

+0

不知何故,我錯過了TechZen給出了完全相同的答案,直到我發佈我的答案後。 – drawnonward 2010-04-13 18:40:10