国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[iOS]UITextView放在UITableView中選中不顯示光標問題

2019-11-14 18:19:38
字體:
來源:轉載
供稿:網友

原文地址請保留http://www.survivalescaperooms.com/rossoneri/p/4809692.html
很奇怪的問題,一個UITextView放進UITableView中作為一個Cell,首先設置選中高亮:

[self setSelectionStyle:UITableViewCellSelectionStyleBlue];

這里說一點,在ipAD中,UITableView的選中高亮好像永遠是灰色的。
然后點擊UITextView進入編輯狀態時,鍵盤會彈出,也可以輸入內容,然而不顯示光標。
好了,有人說背景色和光標一致導致看不見,然而我改了光標顏色以及背景色還是沒什么卵用。
好了,又有人說把選中高亮去掉就行了,然而我若不用高亮我干嘛還要研究這個問題。

折騰了好久,看到一個這樣的答案link

Cell stopped to hide cursor, when i set.

cell.selectionStyle = UITableViewCellSelectionStyleNone;

But after that, cell also stopped use selectedBackgroundView. So I set my image to highlighted state of backgroundView.

cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"input_up.png"] highlightedImage:[UIImage imageNamed:@"input_up_act.png"]] autorelease];

And switched image in setSelected:animated:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {    [super setSelected:selected animated:animated];    if (selected && ![textView isFirstResponder]) {        [textView setUserInteractionEnabled:YES];        [textView becomeFirstResponder];    } else {        [textView resignFirstResponder];        [textView setUserInteractionEnabled:NO];    }    [(UIImageView *)self.backgroundView setHighlighted:selected];}

這個思路很好,就是不設置系統選中高亮,我們自己寫一個背景,然后自己實現高亮狀態。
但是我用的背景圖是自動拉伸的,設置以后,縱向拖動cell會導致背景圖變成拉伸前的原圖,效果很糟糕。而且有時候點擊cell也會直接加載原圖,需要reload cell再設置selected才有好的效果。所以我試著選擇設置背景色,結果效果很好。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated{    [super setSelected:selected animated:animated];        [self setSelectionStyle:UITableViewCellSelectionStyleNone];    if (selected) {        [self setBackgroundColor:[UIColor colorWithRed:0x79 / 255.f green:0xD8 / 255.f blue:0xFA / 255.f alpha:1.f]];    } else {        [self setBackgroundColor:[UIColor whiteColor]];    }}

好了,解決了,有人說這種光標不顯示的現象是系統的問題。另外我試了一下,同樣的設置,如果把UITextView換成UITextField,就會有光標。崩潰了。。。算了,實在找不出原因了,暫且把鍋甩給系統好了。
最后總結,以后如果一個效果找不到系統的實現方法,我們就自己實現好了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东市| 武冈市| 凉城县| 临颍县| 迁安市| 齐河县| 北安市| 乐都县| 呼图壁县| 衡阳县| 绥德县| 宁夏| 扶沟县| 团风县| 平潭县| 松阳县| 文水县| 印江| 崇信县| 汝城县| 漠河县| 渭南市| 奉新县| 永昌县| 巴林右旗| 昆明市| 万荣县| 河南省| 尼木县| 额尔古纳市| 三河市| 奉贤区| 百色市| 留坝县| 蓬溪县| 武冈市| 盖州市| 习水县| 武夷山市| 常熟市| 北海市|