当前位置: 首页 > article >正文

ios UICollectionView使用

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


http://www.kler.cn/a/555607.html

相关文章:

  • android调用ffmpeg解析rtsp协议的视频流
  • 【重磅发布】OmniParser V2-开启GUI自动化新时代
  • Spark(2)linux和简单命令
  • PDF文档管理系统V2.0
  • Mac端homebrew安装配置
  • 安全防御综合练习2 nat+智能选路
  • 问题记录汇总
  • ref() 和 reactive()响应性 浅解
  • mapbox基础,使用geojson加载Fill面图层
  • docker之图形界面portainer.io无法访问问题及解决办法
  • 挖掘图片的秘密:如何用piexif提取和修改Exif数据
  • 正则表达式–断言
  • 蓝桥杯班级活动
  • javaEE-13.spring MVC
  • k8s的资源说明 cpu 内存 requests usage limits
  • freesiwtch启用esl,nodejs调用api
  • 基于Spring Boot的售楼管理系统设计与实现(LW+源码+讲解)
  • Unity学习part4
  • LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别
  • faiss库和huggingface_hub库使用产生的错误