UITableViewCell點(diǎn)擊或常亮?xí)r保持子控件的背景顏色

如題,實(shí)現(xiàn)此效果需要重寫cell的點(diǎn)擊和高亮方法來保持子控件的背景顏色
代碼如下:
colorViews:記錄需要保持背景顏色的views,可在子控件初始化后添加

NSArray *colorViews;         ///< cell高亮或點(diǎn)擊狀態(tài)時(shí)需要保持背景顏色的views
- (void)setSelected:(BOOL)selected animated:(BOOL)animated{
    
    if (self.colorViews && self.colorViews.count > 0) {
        NSMutableArray *colors = [NSMutableArray array];
        NSMutableArray *views = [NSMutableArray array];
        
        for (UIView *view in self.colorViews) {
            if (view.backgroundColor && ![view.backgroundColor isEqual:[UIColor clearColor]]) {
                [colors addObject:view.backgroundColor];
                [views addObject:view];
            }
        }
        
        [super setSelected:selected animated:animated];
        
        for (NSInteger i = 0; i < colors.count; i ++) {
            UIView *view = [views objectAtIndex:i];
            UIColor *color = [colors objectAtIndex:i];
            
            [view setBackgroundColor:color];
        }
    }else{
        
        [super setSelected:selected animated:animated];
    }
    
}

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
    
    
    if (self.colorViews && self.colorViews.count > 0) {
        NSMutableArray *colors = [NSMutableArray array];
        NSMutableArray *views = [NSMutableArray array];
        
        for (UIView *view in self.colorViews) {
            if (view.backgroundColor && ![view.backgroundColor isEqual:[UIColor clearColor]]) {
                [colors addObject:view.backgroundColor];
                [views addObject:view];
            }
        }
        
        [super setHighlighted:highlighted animated:animated];
        
        for (NSInteger i = 0; i < colors.count; i ++) {
            UIView *view = [views objectAtIndex:i];
            UIColor *color = [colors objectAtIndex:i];
            
            [view setBackgroundColor:color];
        }
    }else{
        [super setHighlighted:highlighted animated:animated];
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明AI閱讀 16,206評(píng)論 3 119
  • 不是所有的付出都會(huì)有回報(bào), 所有的努力亦不一定都會(huì)得到 自己想要的結(jié)果! 可是, 有時(shí)候重要的不是結(jié)局, 而是每一...
    孤獨(dú)的朝圣閱讀 190評(píng)論 0 0
  • 諾說想看楊麗萍舞蹈,平生第一次買了這么貴的票,1280,有點(diǎn)心疼,不過想了下,人生總要往前看,總要有所進(jìn)步,尤其是...
    好菇?jīng)霭」饷⑷f丈閱讀 279評(píng)論 0 0
  • NO·5 巨蟹座 不要問巨蟹座為什么會(huì)去愛,也絕不要懷疑巨蟹座對(duì)愛的忠誠(chéng)度,他們是可以默默為愛人奉獻(xiàn)的人,一旦愛上...
    星座的這一些事閱讀 427評(píng)論 0 0
  • 就在剛才,父親給我打了兩個(gè)電話,我沒接到。猶豫了一下,我還是打了個(gè)電話回去。心里五味雜陳的聽著話筒里面?zhèn)鱽硪魂囈魂?..
    我的公主蔣雨果閱讀 106評(píng)論 0 0

友情鏈接更多精彩內(nèi)容