您的位置:首页 > 其它

文章标题

2015-12-27 14:38 375 查看
UITableView

自带滑动效果

创建方法和UIView相同

创建

UITableView *tableView=[[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
tableView.backgroundColor=[UIColor yellowColor];
[self.view addSubview:tableView];


UITable有两套协议方法,需要签两个协议

@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate>


//设置行高
tableView.rowHeight=100;
//设置代理人
tableView.dataSource=self;
tableView.delegate=self;


主要协议方法

注:1.2.3用的比较多

1.主要功能就是实现点击

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"row = %ld",indexPath.row);
NSLog(@"section = %ld",indexPath.section);
NSLog(@"%@",self.arr[indexPath.row]);
}


2.通过这个方法可以让tableView显示内容

//这个方法只要有cell要出现,就会触发
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//tableViewCell通过重用避免了多余的创建,一般来讲一个tableView现实的cell数是有限的,所以为了提高效率,避免重复的创建,利用重用解决问题重用也是常见的tableView面试问题
//1.现指定一个cell的重用标识
//一般来讲,一个tableview对应一个重用标识,重用标志作用就是告诉系统哪个cell对应哪个tableView
static NSString *reuse=@"reuse";

//系统先会根据重用标识在重用池里找,有没有用闲置的cell,如果有直接拿来用,如果没有,再创建
UITableViewCell *cell=[tableView dequeueReusableHeaderFooterViewWithIdentifier:reuse];
//如果没找到对应的cell是0x0
if (!cell) {
cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuse] autorelease];
}
//cell提供了三种视图,两个label,一个imageView
cell.textLabel.text=self.arr[indexPath.row];
cell.detailTextLabel.text=[NSString stringWithFormat:@"%ld",indexPath.section];
cell.imageView.image=[UIImage imageNamed:@"c4.jpg"];
//    NSLog(@"%ld",indexPath.row);
return  cell;
}


3.设置tableView里有多少个分区

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 3;
}


4.设置不同行高

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row %2 ==0) {
return 100;
}else{
return 50;
}
}


5.指定每个分区有多少行

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if(section%2==0){
return 10;
}else{

return  self.arr.count;
}
}


6.设置分区的标题

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return [NSString stringWithFormat:@"%ld",section];
}


-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
return @"hello";
}


-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
return @[@"a",@"b",@"c"];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: