Re: [問題] tableview cell下的uilabel變色問題

看板MacDev作者 (SLin HD)時間8年前 (2016/02/03 10:21), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《iamsewei (少年阿兵)》之銘言: : 我在uitableview下的cell加了一個uilabel : 在cell的selectstyle設為UITableViewCellSelectionStyleNone; : 點擊uilabel希望讓他變色 : 所以我加了 UITapGestureRecognizer 設了action : 在裡面 : http://imgur.com/NOxHPjK
: 順利讓他變色了 : 我希望可以讓點擊到的cell 變色 : 其他的變回原來的顏色 : 所以我改成這樣 : http://i.imgur.com/i22a4LU.jpg
: 結果不行...不知道是哪裡有問題... : 覺得xcode的error message 有點難看啊 T_T : 不知道有沒有更好的辦法... 我看你回應的圖片只是想要改label highlighted 顏色, 我是在xib裡面改的 http://imgur.com/lSUPR3A
如果要改borderColor 在cell類別裡面的setHighlighted方法改 - (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{ [super setHighlighted:highlighted animated:animated]; self.more.layer.borderWidth=2; more.layer.zPosition = 1; if (highlighted){ self.more.layer.borderColor=UIColorFromRGB(0xffffff).CGColor; }else{ more.layer.borderColor=UIColorFromRGB(0xdde7b5).CGColor; more.textColor=UIColorFromRGB(0xdde7b5); } } 更改cell selected背景也是在cell類別裡面改 - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; self.selectedBackgroundView=[UIView new]; self.selectedBackgroundView.backgroundColor= UIColorFromRGB(0xfebbcc); } 結果如圖 http://imgur.com/faCuqTX
另外這是UIColorFromRGB的macro #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] 當初也是卡關很久,希望這個有幫到你:D -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.238.66 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1454466087.A.E39.html

02/03 21:00, , 1F
其實我放在 github 那個 code 也是這個作法啊 XD
02/03 21:00, 1F
文章代碼(AID): #1MiMGduv (MacDev)
文章代碼(AID): #1MiMGduv (MacDev)