文章标题
来源:互联网 发布:淘宝不卖爱奇艺 最早 编辑:程序博客网 时间:2024/06/05 10:19
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"];}
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Masonry的个人理解
- JavaScript 运动框架
- 【HTML第二本】HTML.5与CSS.3权威指南 CSS3部分读书笔记
- C语言学习笔记------伊能C语言学习笔记-----外部函数
- NSString,NSArray相关用法
- 文章标题
- android Material design
- android使用sax解析xml
- 初步封装jdbc
- Objective-c语言_使用字符串然后retainCount会出现一长串数字
- ps与kill配合
- 南邮数据结构试验---各种内排序算法实现及比较
- xcode的环境变量,Build Settings参数,workspace及联编设置
- (1) Android Junit 安卓单元测试