当前位置: 首页 > 编程日记 > 正文

UICollectionView的使用方法

1、遵守协议

<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>

2、创建

UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];
    layout.minimumInteritemSpacing = 10;  //最小item之间的间距
    layout.minimumLineSpacing = 10;//最小行间距
    collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT-64-49) collectionViewLayout:layout];
    collectionView.delegate = self;
    collectionView.dataSource = self;

//重要

1>、如果是用代码自定义的cell要用下面的方法注册

[collectionView registerClass:[PicCollectionViewCell class] forCellWithReuseIdentifier:@"cc"];

2>、如果是用xib定义的cell要用

[collectionView registerNib:[UINib nibWithNibName:@"PicCollectionViewCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"cc"];

3、返回item的个数

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return dataSourse.count;
}

4、cell复用

xib和代码都用下面方法

PicCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cc" forIndexPath:indexPath];

5、重要协议方法

1>返回item的大小,系统自动根据item的大小来设定每行显示的item个数(可以用layout.size方法)

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGSize  size = CGSizeMake(90, 80);
    return size;
}

2>//返回这个UICollectionView是否可以被选择 

-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath  

return YES;  

}

转载于:https://www.cnblogs.com/huoxingdeguoguo/p/4630948.html

相关文章:

python学习--服务期间通讯和mysql数据库操作

服务端import socket import json ssocket.socket(socket.AF_INET,socket.SOCK_STREAM,0) host port1234 s.bind((host,port)) s.listen(3) while True:client,ipaddrs.accept()print "Got a connect from %s" %str(ipaddr)dataclient.recv(1024)metadatajson.loads(…

[Angular JS教程] HeroService: getHeroes failed: undefined 问题解决方法

最近在学习入门Angular JS&#xff0c;学习资源是https://angular.cn/tutorial&#xff0c; 在学习到 “https://angular.cn/tutorial/toh-pt6模拟数据服务器” 阶段时&#xff0c;客户端访问http://localhost:4200/无法get到英雄列表&#xff0c;Message系统记录日志如下&…

BZOJ 4059: [Cerc2012]Non-boring sequences ( )

要快速在一段子序列中判断一个元素是否只出现一次 , 我们可以预处理出每个元素左边和右边最近的相同元素的位置 , 这样就可以 O( 1 ) 判断.考虑一段序列 [ l , r ] , 假如我们找到了序列中唯一元素的位置 p , 那我们只需检查 [ l , p - 1 ] & [ p 1 , r ] 是否 non-boring…

Java项目:小蜜蜂扩音器网上商城系统(java+JSP+Servlet+JDBC+Ajax+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 用户功能模块&#xff1a; 用户注册&#xff1a; 用户登录&#xff1a;商品模块&#xff1a;订单模块&#xff1b;后台管理系统功能&#xff1a;管理员模块&#xff1a; 商品模块&#xff1a;…

WebBrowserProgramming - Python Wiki

WebBrowserProgramming - Python WikiWeb Browser Programming in Python

C++ transform for_each

#include<iostream>#include<vector>#include <list>#include <algorithm>#include <functional> using namespace std; //不需拷贝&#xff0c;速度快void square(int &elementParam){ elementParam elementParam*elementParam;} //速度…

When should static_cast, dynamic_cast and reinterpret_cast be used?

这是我偶然在 http://stackoverflow.com/questions/ 网页上发现的一个问题&#xff08;类似博客园的博问&#xff09;&#xff0c;问题主要是关于询问应该怎样使用&#xff0c;以及何时使用C里面的这几种类型转换操作符&#xff1a;static_case, dynamic_cast&#xff0c;以及 …

Java项目:养老院管理系统(java+SSM+JSP+Easyui+maven+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 运行环境&#xff1a; JDK1.8、tomcat8、eclipse、mysql5.6、Navicat 功能实现&#xff1a; 用户: 用户名,登录密码,姓名,性别,出生日期,用户照片,联系电话,邮箱,家庭地址,注册时间 老人: 老人编号,姓名,…

Linux访问Windows磁盘实现共享

业务需求说明&#xff1a;公司在部署hadoop集群和DB server与SAN存储&#xff0c;公司的想法是前端通过DB Server能够将非结构化的数据能放进SAN存储当中&#xff0c;而hadoop集群也能够访问这个SAN存储。因此需要在SAN磁盘阵列中开辟一个共享区域&#xff0c;这个区域技能让DB…

ubuntu环境ceph配置入门(一)

为什么80%的码农都做不了架构师&#xff1f;>>> 环境&#xff1a;ubuntu server 14.04 64bit&#xff0c;安装ceph版本0.79 正常情况下应有多个主机&#xff0c;这里为了快速入门以一台主机为例&#xff0c;多台主机配置方式类似。 1. 配置静态IP及主机名 静态IP配…

mysql查看当前实时连接数

静态查看: SHOW PROCESSLIST; SHOW FULL PROCESSLIST; SHOW VARIABLES LIKE %max_connections%; SHOW STATUS LIKE %Connection%; 实时查看&#xff1a; mysql> show status like Threads%; -------------------------- | Variable_name | Value | ------------…

lsof 简介

lsof简介 lsof&#xff08;listopen files&#xff09;是一个列出当前系统打开文件的工具。在linux环境下&#xff0c;任何事物都以文件的形式存在&#xff0c;通过文件不仅仅可以访问常规数据&#xff0c;还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协…

Java项目:健身器材商城系统(java+Jdbc+Servlet+Ajax+Fileupload+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; Jdbc Servlert html css JavaScrip…

Xcode中如何解决无法使用svn命令行的问题

今天在自己机器上安装了xp虚拟机,然后在xp虚拟机上安装了svn的服务器.发现原本Xcode5以后就自带的svn竟然在终端无法使用命令行,出现了以下的错误: xcrun: error: active developer path ("/Volumes/Xcode/Xcode.app/Contents/Developer") does not exist, use xcode…

查看和设置MySQL数据库字符集(转)

查看和设置MySQL数据库字符集作者&#xff1a;scorpio 2008-01-21 10:05:17 标签&#xff1a; 杂谈 Liunx下修改MySQL字符集&#xff1a;1.查找MySQL的cnf文件的位置find / -iname *.cnf -print /usr/share/mysql/my-innodb-heavy-4G.cnf/usr/share/mysql/my-large.cnf/usr/sha…

数据库管理工具dbeaver

https://dbeaver.io/ 转载于:https://www.cnblogs.com/mingzhang/p/11016229.html

linux文件权限详解

linux文件权限详解 一、文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限&#xff0c;这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限&#xff1a;只允许用户自己访问&#xff1b;允许一个预先指定的用户…

linux定时器(crontab)实例

linux实验示例----实现每2分钟将“/etc”下面的文件打包存储到“/usr/lobal”目录下 Step1&#xff1a;编辑当前用户的crontab并保存终端输入&#xff1a;>crontab -u root -l #查看root用户设置的定时器>crontab -u root -e #进入vi编译模式 00-59/2 * * * * /bin/bash …

Java项目:晚会抽奖系统(java+Jdbc+Servlet+Ajax+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; Jdbc Servlert html css JavaScrip…

hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。

题意&#xff1a;求一个无向图的&#xff0c;去掉两个不同的点后最多有几个连通分量。 思路&#xff1a;枚举每个点&#xff0c;假设去掉该点&#xff0c;然后对图求割点后连通分量数&#xff0c;更新最大的即可。算法相对简单&#xff0c;但是注意几个细节&#xff1a; 1&…

javascript中 (function(){})();如何理解?

javascript中 (function(){})();如何理解? javascript中: (function(){})()是匿名函数&#xff0c;主要利用函数内的变量作用域&#xff0c;避免产生全局变量&#xff0c;影响整体页面环境&#xff0c;增加代码的兼容性。 (function(){})是一个标准的函数定义&#xff0c;但是…

通过IP地址和子网掩码与运算计算相关地址

知道ip地址和子网掩码后可以算出&#xff1a; 1、网络地址 2、广播地址 3、地址范围 4、本网有几台主机 例1&#xff1a;下面例子IP地址为1921681005子网掩码是2552552550。算出网络地址、广播地址、地址范围、主机数。 一)分步骤计算 1) 将IP地址和子网掩码换算为二进制…

Java项目:兼职平台系统(java+Springboot+ssm+HTML+maven+Ajax+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; HTML Springboot SpringMVC MyBatis…

java实现时间的比较

时间大小的比较以及把String类型的时间转换为Date类是时间在开发中是非常常见的&#xff0c;下面的主要是一个工具方法 public class Test {public static void main(String[] args) {// TODO Auto-generated method stubString sTime "2015-07-13";String fTime &…

在eclipse中通过基于spring data的easyrest风格的maven项目操纵cassandra和lucene

一、项目前提步骤1>、创建键空间CREATE KEYSPACE mykeyspaceWITH REPLICATION { class : SimpleStrategy, replication_factor : 1 };2>、创建表和关系数据库一样&#xff0c;开发前需要先建表&#xff0c;再操纵CREATE TABLE tweet (id uuid PRIMARY KEY,nickName text…

JAVA 多线程实现包子铺(买包子,吃包子)

1 package baozi;2 3 /*4 生产者&#xff08;包子铺&#xff09;类&#xff1a;是一个 线程类&#xff0c;继承Thread5 设置线程任务&#xff08;run&#xff09;&#xff1a;生产包子6 对包子 进行判断7 true&#xff1a;有包子8 包子铺调用wait方法进…

字符串面试题(一)字符串逆序

字符串逆序可以说是最经常考的题目。这是一道入门级的题目&#xff0c;相信80%的程序员经历过这道题。给定一个字符串s&#xff0c;将s中的字符顺序颠倒过来&#xff0c;比如s"abcd"&#xff0c;逆序后变成s"dcba"。 普通逆序 基本上没有这么考的&#xf…

Java项目:在线淘房系统(租房、购房)(java+SpringBoot+Redis+MySQL+Vue+SpringSecurity+JWT+ElasticSearch+WebSocket)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 该系统有三个角色&#xff0c;分别是&#xff1a;普通用户、房屋中介、管理员。普通用户的功能&#xff1a;浏览房屋信息、预约看房、和中介聊天、申请成为中介等等。房屋中介的功能&#xff1a;发布房屋信息…

Be a person

做人不能太实诚 尤其是干我们这行的 多久时间能做完 你自己心里要有个估算 然后把时间再往后延 别他妈给自己找罪受 转载于:https://www.cnblogs.com/wskgjmhh/p/4644840.html

Solr配置文件分析与验证

前面一篇开始学习solr的时候&#xff0c;做了个入门的示例http://6738767.blog.51cto.com/6728767/1401865。虽然可以检索出内容&#xff0c;但总和想象的结果有差异——比如&#xff0c;检索“天龙”两个字&#xff0c;按常规理解&#xff0c;就应该只出来《天龙八部》才对&am…