技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 移动开发 > ios > 正文

关于UICollectionView横向滑动分页的问题

来源: 技术CTO 阅读:

在UICollectionView里面-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return 5;
}
自定义好cell后正常显示了,但是横向显示的时候,我本想的是分成两页,第一页里面放四个,第二页里面放一个,可是不知道为什么,滑动的时候,第一页只能滑动1/2,哪位大虾科普一下啊

collectionViewContentSize返回的是多少?
引用 1 楼 zhangao0086 的回复:
collectionViewContentSize返回的是多少?

    self.collectionView.contentSize = CGSizeMake(320 *2, 568) 
那得看代码了,width等于640应该可以滑两页
 

引用 3 楼 zhangao0086 的回复:
那得看代码了,width等于640应该可以滑两页
h文件
@interface CollectionViewController : UICollectionViewController <UICollectionViewDelegateFlowLayout>
@end
m文件
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.collectionView.contentSize = CGSizeMake(320 *2, 568);
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return 5;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static  NSString * identifierCell =@"cell";
    CollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifierCell forIndexPath:indexPath];
    cell.lab.text = @"string";
    [cell.pic setBackgroundColor:[UIColor blueColor]];
    return cell;
}
布局是直接在storyboard里面托动的
collectionView的contentSize其实不是由你决定的,而是由你的布局对象(UICollectionViewFlowLayout)决定的,我写了一个Demo,你看看:
http://download.csdn.net/download/zhangao0086/7736017
简单地说,就是你不用直接去设置self.collectionView.contentSize,而且设置了也没用
引用 5 楼 zhangao0086 的回复:
collectionView的contentSize其实不是由你决定的,而是由你的布局对象(UICollectionViewFlowLayout)决定的,我写了一个Demo,你看看:
http://download.csdn.net/download/zhangao0086/7736017
简单地说,就是你不用直接去设置self.collectionView.contentSize,而且设置了也没用

你发现没,你的demo横向滑动的时候,情况和我的问题一样
引用 6 楼 liujieyuu 的回复:
Quote: 引用 5 楼 zhangao0086 的回复:

collectionView的contentSize其实不是由你决定的,而是由你的布局对象(UICollectionViewFlowLayout)决定的,我写了一个Demo,你看看:
http://download.csdn.net/download/zhangao0086/7736017
简单地说,就是你不用直接去设置self.collectionView.contentSize,而且设置了也没用

你发现没,你的demo横向滑动的时候,情况和我的问题一样

实际的contentSize由你item的数量*item的宽度决定,这是没有问题的
 

引用 7 楼 zhangao0086 的回复:
Quote: 引用 6 楼 liujieyuu 的回复:

Quote: 引用 5 楼 zhangao0086 的回复:

collectionView的contentSize其实不是由你决定的,而是由你的布局对象(UICollectionViewFlowLayout)决定的,我写了一个Demo,你看看:
http://download.csdn.net/download/zhangao0086/7736017
简单地说,就是你不用直接去设置self.collectionView.contentSize,而且设置了也没用

你发现没,你的demo横向滑动的时候,情况和我的问题一样

实际的contentSize由你item的数量*item的宽度决定,这是没有问题的

这个是我的demo,同样是定义的5个cell,横向滑动,在首页显示4个cell,然后滑动在第二页只显示剩余的一个cell。可是只能滑动一半

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^