ios UICollectionView使用

发布于:2025-02-21 ⋅ 阅读:(18) ⋅ 点赞:(0)

UICollectionView列表视图和UITableView用法类似,直接给出代码

//
//  myUICollectionViewTestController.m
//  iosstudy2024
//
//  Created by figo on 2025/1/21.
//

#import "UICollectionViewTestController.h"

@interface UICollectionViewTestController ()<UICollectionViewDelegate,UICollectionViewDataSource>
@property (strong, nonatomic) IBOutlet UICollectionView *myUICollectionView;

@end

@implementation UICollectionViewTestController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
//    self.myUICollectionView.dataSource=self;
//    self.myUICollectionView.delegate=self;
    
    /* 纯代码方式写   **/
    // 设置 myUICollectionView 的布局
      UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
      
      // 初始化 myUICollectionView
      self.myUICollectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
      self.myUICollectionView.backgroundColor = [UIColor whiteColor];  // 设置背景色
      self.myUICollectionView.delegate = self;
      self.myUICollectionView.dataSource = self;
      
      // 注册 myUICollectionViewCell
      [self.myUICollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"MyCell"];
      
      // 将 myUICollectionView 添加到视图中
      [self.view addSubview:self.myUICollectionView];
   
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/


- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
    cell.contentView.backgroundColor = [self randomColor];
    // 配置 cell,比如设置 label 文本
    return cell;
}

- (NSInteger)collectionView:(nonnull UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return 12;
}



- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"Selected item at index %ld", (long)indexPath.item);
}

- (UIColor *)randomColor {
    CGFloat red = (CGFloat)arc4random_uniform(256) / 255.0;
    CGFloat green = (CGFloat)arc4random_uniform(256) / 255.0;
    CGFloat blue = (CGFloat)arc4random_uniform(256) / 255.0;
    
    return [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
}

@end


网站公告

今日签到

点亮在社区的每一天
去签到