UICollectionView创建实例

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。

使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。

下面先给出常用到的一些方法。(只给出常用的,其他的可以查看相关API)

  1. #pragma mark -- UICollectionViewDataSource
  1. //定义展示的UICollectionViewCell的个数
  2. -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
  3. {
  4. return 30;
  5. }
  1. //定义展示的Section的个数
  2. -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
  3. {
  4. return 1;
  5. }
  1. //每个UICollectionView展示的内容
  2. -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
  3. {
  4. static NSString * CellIdentifier = @"GradientCell";
  5. UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
  6. cell.backgroundColor = [UIColor colorWithRed:((10 * indexPath.row) / 255.0) green:((20 * indexPath.row)/255.0) blue:((30 * indexPath.row)/255.0) alpha:1.0f];
  7. return cell;
  8. }
  1. #pragma mark --UICollectionViewDelegateFlowLayout
  1. //定义每个UICollectionView 的大小
  2. - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
  3. {
  4. return CGSizeMake(96, 100);
  5. }
  1. //定义每个UICollectionView 的 margin
  2. -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
  3. {
  4. return UIEdgeInsetsMake(5, 5, 5, 5);
  5. }
  1. #pragma mark --UICollectionViewDelegate
  1. //UICollectionView被选中时调用的方法
  2. -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
  3. {
  4. UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
  5. cell.backgroundColor = [UIColor whiteColor];
  6. }
  1. //返回这个UICollectionView是否可以被选择
  2. -(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
  3. {
  4. return YES;
  5. }
时间: 2024-11-13 13:39:58

UICollectionView创建实例的相关文章

【OC语法快览】三、创建实例对象

Creating Objects  创建对象 There are two main ways to create an object. The first is the one you saw before: 创建对象主要有两种方法.第一种如下: NSString* myString = [NSString string]; This is the more convenient automatic style. In this case, you are creating an autorel

db2icrt创建实例,提示主机名无效

有这样一个现象,在DB2安装后,使用db2icrt 来创建实例时,提示主机名无效,提示如下:   [[email protected] instance]# ./db2icrt -u db2inst1 db2inst1 The host name "centos-0.msdomain" is invalid. Specify a valid host name. DBI1922N  The host name is not valid. Explanation: The TCP/IP 

关于Java中的几种特殊类与接口,及特殊的创建实例的方法

Java中有一些特殊的类,在教材中讲解的不深,但是确实非常有用的,这里总结一下,里面用到的有网上搜到的内容,这里表示下感谢. 一.成员内部类 成员内部类是在一个内中定义的另外一个类,这个类属于其上的类的成员,叫做成员内部类.可以把该类看做是一个成员,可实例化的成员.该类主要作用是代替结构体功能,当一个类使用到的某个成员是一个结构类型,但是该结构又没有通用性,此时就可以声明为内部类,这样便解决了结构体的问题. 注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类.对于一个名为out

第一篇文章-VS的Local DB数据库连接失败,创建实例失败的解决方案

用了很久的LocalDB了,不用装那么多的SQL组件感觉很不错,前不久调试代码碰到一个问题 ,VS突然就连接不上LocalDB了,琢磨了一下午,其实有个很简单的方法. 第一步,先找到SQL Local DB的版本,我用的是VS2013,所以是V11.0,或者可以在cmd里打 sqllocaldb versions 这样的话,其实默认的实例就是v11.0了,当然如果你项目用的不是这个实例的话,那就不用这样了. 第二步,找到实例的文件夹,我用的是win8的系统,我的路径是C:\Users\用户名\A

从ISO创建实例、实例生成快照,创建镜像(基于openstack kilo平台、KVM虚拟化)

ISO创建实例从ISO创建实例有两个关键配置:云主机类型flavor和ISO镜像参数.云主机类型:openstack使用ISO镜像创建虚拟机实例时,会将选择的云主机类型flavor中的根磁盘(Disk)设置为cdrom,作为ISO的启动的光驱设备,用于OS的安装源:临时磁盘(OS-FLV-EXT-DATA:ephemeral)作为虚拟机实例的系统盘,作为安装目标.因此在配置用于ISO启动的云主机类型flavor时,需要设置根磁盘(disk)值,可以略大约ISO镜像文件,5G/10G均可,可根据现

Spring通过工厂创建实例的注意事项

假设第三方(or别的team)提供一个工厂类(此类是不能够改动的.往往以jar包形式提供的),须要供给我们项目来使用. 可是我们自己的项目使用了spring来配置,所以我们当然希望可以通过spring的aop来配置这个工厂类来,来创建实例以进行引用. 可是这个工厂类的源码比較特殊.例如以下: package x.y; import java.util.Properties; import x.y.client.CmdClient; import x.y.client.InternalCmdCli

【symfoware OPEN】创建实例

symfoware OPEN系 [symfoware新建实例--instance(每个instance使用一个文件夹目录,拥有各自配置文件,使用单独端口(默认26500,多个instance可在postgresql.conf文件中配置))每个instance下有若干表空间,默认使用default空间(数据库属于逻辑层次,表空间属于物理层次): 一个表空间可以存放多个数据库,数据库可以放在多个表空间中:每个数据库中有多个schema:每个schame下有多个table.函数.触发器.视图等] PK

根据类型创建实例

下午在做程序调试的时候遇到一个比较奇怪的问题,如下图所示: 直接用类型字符串创建实例为空,而用具体的类型就能创建成功. 根据类型创建实例

传统抽象工厂(通过反射来创建实例)-》目的为了解耦

//第一步创建一个AbstractFactory类,在这个类里面定义两个静态属性:AssemblyPath ,NameSpace //第二步在工厂类里面写一个静态方法:public static IUserInfoDal CreateUserInfoDal(){}//第三步再写一个方法:private static object CreateInstance(string fullName)通过Assembly反射来创建实例//第四步在web.config文件下配置这两个静态属性:Assembl