我有一個自定義的UITableViewCell。所有繪圖都在drawRect:方法中完成,並且不添加子視圖。 繪圖工作正常,滾動速度很好。 但問題在於選定的單元格。我想選擇的行爲就像它通常會:用drawRect +普通藍色選擇自定義UITableViewCell
- 藍色漸變的顏色選擇
- 反向文本顏色
- 動畫取消選擇
我一直沒能實現全部三種。
第一次嘗試:
設置selectionStyle = UITableViewCellSelectionStyleNone並做drawRect方法選擇的顏色。 用這種方法,我能夠實現前兩件事,但取消選擇是即時的。所以一秒選擇藍色,下一秒取消選擇。我沒有得到好的淡出。
第二次嘗試:
selectionStyle = UITableViewCellSelectionStyleBlue 利用該方法我的細胞是所有梯度藍色選中時。我擁有的文本不可見。雖然淡出效果很好。
第三次嘗試:
設置selectionStyle = UITableViewCellSelectionStyleBlue並設置selectedBackgroundView到我設置的backgroundColor一個透明的藍色一個UIView。 這裏的問題是,selectedBackgroundView(儘管名稱)繪製在我的正常內容之上。所以如果selectedBackgroundView不透明,我看不到文字。如果它是透明的,我可以看到文字,但是選擇顏色變得「褪色」並且看起來不正確。
什麼是實現所有三個要點的正確方法?
的問題不在於文字的顏色應該被反轉。它通常是黑色的,但這也是不可見的。問題似乎是藍色漸變不透明。我的單元格中也有一張圖片,在選擇時也不可見。所以這個建議是行不通的。 – Kobski 2011-05-31 07:41:39