坑爹的UICollectionView
最近用UICoolectionView的时候遇到一个很DT的问题,我往VC里加12个视图,结果显示成这样(右边是期待的样子):
研究了一下午,终于发现了问题:
@interface FpLabelCell : UICollectionViewCell @property (strong, nonatomic) UILabel *label; @end @implementation FpLabelCell - (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_label = [[UILabel alloc]initWithFrame:frame]; //这里直接采用Cell的frame
[self addSubview:_label];
}
return self;
} @end
请注意这个地方:
_label = [[UILabel alloc]initWithFrame:frame];
frame是Cell的frame,这里我们的目的是让label的大小跟cell一样,但是有一个问题,就是cell的frame是带着x、y的,这样会让label的起始位置产生了偏移,从而引入了问题。
改成下面这样就好了:
_label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
花了我一下午啊啊啊!
坑爹的UICollectionView的更多相关文章
- 【iOS】Xcode8+Swift3 纯代码模式实现 UICollectionView
开发环境 macOS Sierra 10.12.Xcode 8.0,如下图所示: 总体思路 1.建立空白的storyboard用于呈现列表 2.实现自定义单个单元格(继承自:UICollectionV ...
- 使用UICollectionView实现首页的滚动效果
实现类似这样的效果,可以滚动大概有两种实现方案 1. 使用scrollview来实现 2. 使用UICollectionView来实现 第一种比较简单,而且相对于性能来说不太好,于是我们使用第二种方案 ...
- 用NSCalendar和UICollectionView自定义日历,并实现签到显示
前一段时间因为工作需要实现了一个可以签到的日历,来记录一下实现的思路 效果如图: 这里的基本需求是: 1,显示用户某个月的签到情况,已经签到的日子打个圈,没有签到且在某个时间范围内的可以签到,其他 ...
- UICollectionView布局cell的三种方式
UICollectionViewFlowLayout里面: // 方法一 - (void)prepareLayout{} // 方法二 - (nullable NSArray<__kindof ...
- 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
前言 API 不熟悉导致的问题,想当然的去理解果然会出问题,这里记录一下 UICollectionView 使用问题. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cn ...
- UICollectionLayout布局 —— UIKit之学习UICollectionView记录二《流水布局》
重点知识 一. 加载collectionView注意事项 1.创建collectionView,有两种方式 :一种是xib和一种是纯代码:设置代理和数据源,注册cell,配置流水布局的属性,如上.下. ...
- UICollectionView中使用 UICollectionViewFlowLayout进行布局(模仿苹果相册)
现在都知道,在初始化UICollectionView的时候,必须要传入一Layout对象,进行布局管理.这也是collectionview和tableview的明显区别,通过collectionvie ...
- UI第十九节——UICollectionView
UICollectionView其实就是UITableView的升级版,在布局方面比UITableView更出色.下面,先看代码吧 #import "RootViewController.h ...
- iOS6新特征:UICollectionView介绍
http://blog.csdn.net/eqera/article/details/8134986 1.1. Collection View 全家福: UICollectionView, UITab ...
随机推荐
- mysql 相关环境配置
1. mysql 版本要求 5.5 以上, 否则不支持 emoji 表情. $ sudo apt-get install mysql-server $ sudo vim /etc/mysql/my.c ...
- OpenJudge 2756 二叉树
1.链接地址: http://bailian.openjudge.cn/practice/2756/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 如 上图所示,由正整数1 ...
- Git-it:一个学习Git和Github的教程(软件)
Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导下了解到的Git-it.OSC有收录. Git-it是一个指导使用G ...
- highcharts图表
最近项目中用到highcharts雷达图,如下 其实echarts就不错,echarts用canvas,highcharts用svg,各有特点 代码如下: index.html <!doctyp ...
- 鼠标事件(window.onload的自己的错误)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- lamp 中基本配置常识
// apache// 禁止访问目录// 开启 url重写// 重写定义错误页面// 日志分页// 增加并发连接数// 设置连接连接的时间 // threadsPerChild // 每个进程的线程数 ...
- php 命名空间(要求php5.3以上)
要求php5.3以上 <?phpnamespace test;// 命名空间与目录类似功能,也可定义子命名空间,用分层的方式定义:/*namespace mydir\ok\project; 在声 ...
- 用VirtualBox构建MySQL测试环境笔记
网络环境: 宿主机:Win7 VirtualBox 4.1.4 + Ubuntu 11.10 server 64bit 宿主机使用网线的时候,客户机在Bridged Adapter模式下,使用Athe ...
- MYSQL Error 2006HY000:MySQL server has gone away的解决方案
MySQL server has gone away有几种情况. 1.应用程序(比如PHP)长时间的执行批量的MYSQL语句. 最常见的就是采集或者新旧数据转化. 解决方案: 在my.cnf文件中添加 ...
- hive--UDF、UDAF
1.UDF package com.example.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.had ...