10.12UITableView(cell)

UITableView
復用(重用)
button 點擊判斷事件

#import "ViewController.h"
#import "Masonry.h"

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
    UITableView *_tableView;
    NSMutableArray *_datas;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //新建數(shù)組datas聂抢,隨便給個值0柏腻,等下下面是使用
    _datas = [NSMutableArray new];
    for (NSInteger i = 0; i<200; i++) {
        
        [_datas addObject:@0];
    }
    
    _tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    [self.view addSubview:_tableView];
    
    [_tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.edges.equalTo(@0);
    }];

}

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{
    
    return 200;
}
//設置cell屬性
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    //復用表示符為“cell”
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if (!cell) {
        
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
        
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        button.backgroundColor = [UIColor blueColor];
        [cell.contentView addSubview:button];
        button.frame = CGRectMake(200, 10, 100, 30);
        [button setTitle:@"button" forState:UIControlStateNormal];
        [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
        [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        
        
        UIView *v = [UIView new];
        v.frame = CGRectMake(320, 10, 20, 20);
        v.backgroundColor = [UIColor colorWithRed:0.8 green:0.1 blue:0.1 alpha:0.5];
        [cell.contentView addSubview:v];
        v.tag =1002;
    }
    
    UIView *targetView = (UIView*)[cell.contentView viewWithTag:1002];
    //判斷 如果數(shù)組行號和我們剛剛設置的就不顯示趁啸,反之就顯示
    if ([_datas[indexPath.row] isEqual:@0]) {
        
        targetView.hidden = YES;
    }else{
        
        targetView.hidden = NO;
    }
    
    //創(chuàng)建label并給Tag值
    UILabel *templabel = [cell.contentView viewWithTag:1001];
    if (!templabel) {
        
        UILabel *contentLabel = [UILabel new];
        [cell.contentView addSubview:contentLabel];
        contentLabel.frame = CGRectMake(20, 10, 100, 20);
        contentLabel.tag = 1001;
        
        static NSInteger count = 0;
        NSLog(@"%ld",count++);
    }
    //顯示withTag值
    templabel = (UILabel*)[cell.contentView viewWithTag:1001];
    templabel.text = [NSString stringWithFormat:@"%ld",indexPath.row];
    
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    //關閉cell的動畫
    [tableView deselectRowAtIndexPath:indexPath animated:NO];
}

- (void)buttonClicked:(UIButton*)sender{
    
    CGPoint point = [sender convertPoint:CGPointZero toView:_tableView];
    NSIndexPath *indexPath = [_tableView indexPathForRowAtPoint:point];
//    反向判斷    按鈕才能進到else,否則一直都只是執(zhí)行if里面的
    if ([_datas[indexPath.row]isEqual:@0]) {
    _datas[indexPath.row] = @1;
    [_tableView reloadData];
    NSLog(@"---%@",indexPath);
    }else{
        _datas[indexPath.row] = @0;
        [_tableView reloadData];
    }
}

@end

每個button都可以單獨點擊素挽,點亮或關閉小紅塊

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懂鸵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子父腕,更是在濱河造成了極大的恐慌,老刑警劉巖青瀑,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件璧亮,死亡現(xiàn)場離奇詭異,居然都是意外死亡狱窘,警方通過查閱死者的電腦和手機杜顺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蘸炸,“玉大人躬络,你說我怎么就攤上這事〈钊澹” “怎么了穷当?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淹禾。 經(jīng)常有香客問我馁菜,道長,這世上最難降的妖魔是什么铃岔? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任汪疮,我火速辦了婚禮,結果婚禮上毁习,老公的妹妹穿的比我還像新娘智嚷。我一直安慰自己,他們只是感情好纺且,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布盏道。 她就那樣靜靜地躺著,像睡著了一般载碌。 火紅的嫁衣襯著肌膚如雪猜嘱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天嫁艇,我揣著相機與錄音朗伶,去河邊找鬼。 笑死步咪,一個胖子當著我的面吹牛腕让,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼纯丸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了静袖?” 一聲冷哼從身側(cè)響起觉鼻,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎队橙,沒想到半個月后坠陈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡捐康,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年仇矾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片解总。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡贮匕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出花枫,到底是詐尸還是另有隱情刻盐,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布劳翰,位于F島的核電站敦锌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏佳簸。R本人自食惡果不足惜乙墙,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望生均。 院中可真熱鬧听想,春花似錦、人聲如沸疯特。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漓雅。三九已至录别,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邻吞,已是汗流浹背组题。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抱冷,地道東北人崔列。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赵讯。 傳聞我的和親對象是個殘疾皇子盈咳,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件边翼、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • 2017.02.22 可以練習鱼响,每當這個時候,腦袋就犯困组底,我這腦袋真是神奇呀丈积,一說讓你做事情,你就犯困债鸡,你可不要太...
    Carden閱讀 1,331評論 0 1
  • 一江滨、不種格式圖片的使用 1.JPEG格式—照片和復雜圖像使用 適合連續(xù)色調(diào)圖像,例如照片 包含顏色豐富多達1600...
    April_17閱讀 434評論 0 0
  • 記得之前看過一篇文章說 “寫作并不難 在你有想法有思維的時候拿起筆寫就OK” 對啊 你管寫出來的文字通不通順 流不...
    素靨閱讀 151評論 0 0
  • 印象中我小時候沒怎么發(fā)過燒厌均,以致于賢哥唬滑,我總也以為不會發(fā)燒的,更驕傲地對朋友晨霞說:“我家寶寶都不會發(fā)燒的莫秆,一歲了...
    燕紀事閱讀 400評論 0 0