美文网首页
UITableView和UICollectionView

UITableView和UICollectionView

作者: 万水千山123 | 来源:发表于2016-08-05 19:45 被阅读37次

    这几天我们学习了UITableView和UITableViewCell,UITableViewController继承于UIViewController,所以很少代码就能实现一个视图。UITableView是UIScrollView的子类,所以会有上下滑动的效果。UITableView和UITableViewCell里面不能存储数据,可以显示特定行内的数据,通过单元格重用和实现UITableViewDelegate,UITableViewDataSource协议的方法实现的。下面就说一下实现步骤。

    创建一个tableView
    UITableView *tableView = [UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
    签协议
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    选择代理
    tableView.delegate = self;
    tableView.dataSource = self;
    把tableview添加到当前视图上
    [self.view addSubview:tableView];V
    注册cell
    [tableView registerClass:[UITableViewCell class]forCellReuseIdentifier:@"cell"];
    实现协议方法设置区中row的个数
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return 10;
    }
    实现协议方法
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    从重用池取cell
         UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"forIndexPath:indexPath];
    给cell的文本赋值
        cell.textLabel.text = @“标题”;
    给cell设置背景颜色
        cell.contentView.backgroundColor = [UIColor yellowColor];
    返回cell
        return  cell;
    }
    

    UICollectionView的创建和实现和UITableView几乎差不多,但也有一些差别

    首先创建一个 UICollectionViewFlowLayout类的对象,这点和UITableView不同
     UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
    然后创建一个UICollectionView类的对象
     UICollectionView *myCollectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
    签协议
    @interface ViewController ()<UICollectionViewDataSource,UICollectionViewDelegate>
    设置代理
    myCollectionView.delegate = self;
        myCollectionView.dataSource = self;
    注册cell
    [myCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    设定最小列间距
    layout.minimumInteritemSpacing = 5;
    设定最小行间距
    layout.minimumLineSpacing = 5;
    设定myCollectionView的滚动方向为垂直滚动
    layout.scrollDirection = UICollectionViewScrollDirectionVertical;
    设定cell的大小
    layout.itemSize = CGSizeMake(CGRectGetWidth(self.view.bounds) / 2 - 7.5, 120);
    将集合视图添加到当前视图上
    [self.view addSubview:myCollectionView];
    实现协议方法设定区中row的个数
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
        return 10;
    }
    实现协议方法
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    从重用池取cell
        UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    将cell的背景颜色设为红色
        cell.backgroundColor = [UIColor redColor];
     返回cell
        return cell;
    }
    
    

    相关文章

      网友评论

          本文标题:UITableView和UICollectionView

          本文链接:https://www.haomeiwen.com/subject/patksttx.html