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];
//新建陣列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];
//判斷 如果陣列行號和我們剛剛設定的就不顯示,反之就顯示
if ([_datas[indexPath.row] isEqual:@0]) {
targetView.hidden = YES;
}else{
targetView.hidden = NO;
}
//建立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,否則一直都只是執行if裡面的
if ([_datas[indexPath.row]isEqual:@0]) {
_datas[indexPath.row] = @1;
[_tableView reloadData];
NSLog(@"---%@",indexPath);
}else{
_datas[indexPath.row] = @0;
[_tableView reloadData];
}
}
@end
每個button都可以單獨點選,點亮或關閉小紅塊
相關文章
- 操作選中cell 所有cell操作相同情況下
- Swift iOS : 定製CellSwiftiOS
- iOS 中 cell的用法iOS
- Swift iOS : self sized cellSwiftiOSZed
- tableView 組頭 和 cellView
- iOS之移動中變化的cell(cell逐漸變大效果)iOS
- Robust mapping of spatiotemporal trajectories and cell–cell interactions in healthy and diseased tissues論文介紹APP
- Cell smart table scan等待事件事件
- html~table、table cell的使用HTML
- iOS 重寫cell的FrameiOS
- 解決POI中DateUtil.isCellDateFormatted(Cell cell)不能判斷中文日期的問題LDAORM
- iOS cell上的定時器iOS定時器
- iOS cell找對應的tableViewiOSView
- Cell定製和Frame模型引入模型
- UITableView動態計算Cell高度UIView
- display:table-cell的應用
- 一行程式碼建立cell行程
- IOS 動態改變cell的高度iOS
- (iOS)點選cell推出現新介面iOS
- 11-自定義cell(2種方法)
- iOS cell中webview自適應高度iOSWebView
- display:table-cell的用法簡介
- iOS 實現展開TableViewCell,下拉celliOSView
- UITabelViewController 返回cell總結UIViewController
- IOS多型別Cell的tableView實現iOS多型型別View
- cell single block physical read等待事件BloC事件
- 「Python」Numpy equivalent of MATLAB's cell arrayPythonUIMatlab
- EasyExcel為單個Cell設定樣式Excel
- display:table-cell自適應佈局
- iOS 自定義tableView Cell、高度自適應iOSView
- Xamarin.Forms單元控制元件CellORM控制元件
- tableview cell自適應無需計算View
- 華表Cell檔案匯入匯出
- iOS Cell巢狀UIWebView(內附UIWebView詳解)iOS巢狀UIWebView
- runloop解決Cell上主執行緒卡頓OOP執行緒
- 短視訊程式碼,摺疊cell的使用
- 滾動cell 顯示隱藏導航欄
- iOS 中tableview cell點選取消選中效果iOSView