2009-08-27 61 views
2

我想要在選定的UITableViewCell中格式化可點擊的文本和圖像。我在尋找的功能的一個例子可以在iPhone的Twitterrific應用程序中看到。當用戶點擊一個單元格時,該單元格將突出顯示,並且各個鏈接將變亮並可點擊。在UITableViewCell ala Twitterrific中爲iPhone設置格式和繪製文本

我見過在UITableViewCell中使用UIWebView來處理格式化的想法,但我不確定這一點。這是否意味着每個細胞都必須擁有自己的網絡視圖?我想知道這種方法的花費和性能。有沒有另外一種方式使用Core Graphics獲得這個功能?

我正在使用自定義繪圖來繪製我的表格視圖單元格,如atebit的博文fast scrolling中所述。

回答

2

克雷格Hockenberry,Twitterrific的作者,博客上講述他是如何做到的是早在2008年:

http://furbo.org/2008/10/07/fancy-uilabels/

基本上,選擇該行的時候,他覆蓋在鏈接UIButtons。這是不完美的,因爲有時按鈕不適合文本在同一個地方。

+0

謝謝,獵人。我沒有意識到博客文章在那裏,或者使用的方法是這樣的。我想知道這是如何在最新版本中完成的。我想找出一個更好的方法來做到這一點。 – sam 2009-08-28 04:45:59

+0

是的,它確實看起來像一個黑客,我同意。 – Hunter 2009-08-28 18:33:12

+0

有意義使用一些UIButtons而不是UIWebview,因爲它會快很多。這似乎是「拙劣的」,但你可以嘗試寫一個更好的單元格來提前處理尷尬的空格。不知道當你滾動時,性能如何進行這麼多解析。這可能是爲什麼Hockenberry只在用戶點擊時分析推文的原因,它可以節省大量處理工作。 – 2009-08-31 22:34:28

1

我會做的第一件事是結賬twitterific的舊source code。看看這個版本是否符合你的要求。

我不確定Hockenberry是怎麼做到的,但通常UIWebviews + UITableViewCells!=快速滾動。

我的猜測是每個單元格都不包含一個UIWebview,直到你點擊它,當他快速地在單元格中放置一個UIWebview來處理文本格式。然後你有一個可重用的UIWebview實例,你可以重用,但只是改變內容重複。