UITableView的简单应用介绍
创建一个tableView视图,然后把这个视图界面添加到主界面上。
_tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 20, [UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height-20) style:UITableViewStylePlain];
每一个表视图都是需要delegate委托和datasoure数据源的
_tableView.delegate = self; _tableView.dataSource = self;
UIEdgeInsets contentInset = _tableView.contentInset; contentInset.top = -20; [_tableView setContentInset:contentInset];
表视图的都需要cell,一般都是自定义的设置一个cell来实现的。
创建相应地cell.xib与类中的Outlet接口关联起来。如果cell里面的属性需要和外界联系,则将其set在接口文件中。
有时候,cell文件中需要实现自定义的button编写:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setTitle:@"" forState:UIControlStateNormal]; UIImage *arrowImage = [UIImage imageNamed:@"rightArrow"]; [btn setBackgroundImage:arrowImage forState:UIControlStateNormal]; btn.frame = CGRectMake(300, 60, arrowImage.size.width, arrowImage.size.height); [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
table中有一个TableHeaderView的属性,可以在这个属性中自定义一些view。下面是自定义一个滚动视图到TableHeaderView。
注意:这个TableHeaderView虽然是表视图中的第一个cell,但是一般我们不将他算到delegate和datasource中。
// 添加一个滚动试图在表示图的第一个cell上面 [self setScrollView];//添加一个滚动视图,详细代码不在这个说明了。 [_tableView setTableHeaderView:_main_scrollView];
将一个视图移动到view视图界面的最底层,可以用下面的方法:
[self.view sendSubviewToBack:_tableView];
//点击tableView中的cell时,将调用这个方法 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath //用来获取分区的行数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section //用来设定行高 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath //返回一个TableViewCell类型的例子,作为tableView中的cell - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
在tableView中实现向左滑动->点按delete操作
//实现删除操作 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleDelete; } -(void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { <span style="white-space:pre"> </span>//在这里开始编写删除操作代码 } }