iOS- 用UICollectionViewController 来进行横竖屏九宫格布局
2014-02-13 14:28
369 查看
1.简单说说UICollectionViewController
我们在做九宫格布局时,可以使用UIScrollView,也可以使用UICollectionViewController。当我们用UICollectionViewController来进行九宫格布局,可以更加方便,省去很多麻烦,例如横竖屏的适配。
UICollectionViewController 用起来非常简单,只需要简单的几步,就能实现非常的漂亮的九宫格布局。
下面就说说UICollectionViewController实现的几步。
2.UICollectionViewController的实现
2.1.传递布局
首页创建UICollectionViewController时,需要给它传一个展示的布局,一般九宫格用的都使流水布局!// 1.创建流水布局 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; // 2.设置每个格子的尺寸 layout.itemSize = CGSizeMake(250, 250); // 3.设置整个collectionView的内边距 CGFloat paddingY = 20; CGFloat paddingX = 40; layout.sectionInset = UIEdgeInsetsMake(paddingY, paddingX, paddingY, paddingX); // 4.设置每一行之间的间距 layout.minimumLineSpacing = paddingY;
2.2.初始化UICollectionViewController,设置展示布局
//初始化 UICollectionViewController UICollectionViewController *controller = [[UICollectionViewController alloc] initWithCollectionViewLayout:layout]
在对 UICollectionViewController 的 View 进行相关属性设置和属性修改时,记得要拿到UICollectionViewController.collectionView 再设置。
//设置背景 self.collectionView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg_deal"]];
2.3.显示数据
记得分别实现<UICollectionViewDelegate, UICollectionViewDataSource>
之后再调用代理数据源方法和代理方法
#pragma mark - 数据源方法 2 /** 3 * 第section组有多少个格子(cell) 4 */ 5 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 6 { 7 return _deals.count; 8 } 9 10 //每个格子的内容 11 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 12 { 13 // indexPath.item 某一组的哪一个 14 // indexPath.section 哪一组 15 // 1.创建cell 16 QCDealCell *cell = [QCDealCell cellWithCollectionView:collectionView indexPath:indexPath]; 17 18 // 2.取出模型,传递模型 19 cell.deal = _deals[indexPath.item]; 20 21 return cell; 22 }
模型数据封装好后,就能实现上图展示效果,横竖屏自动适配好!
清澈Saup
相关文章推荐
- 用UICollectionViewController 来进行横竖屏九宫格布局
- IOS瀑布流 通过自定义UICollectionViewController的Layout布局实现
- iOS开发进阶 - 自定义UICollectionViewLayout实现瀑布流布局
- ios UICollectionViewController集合视图(二)
- (十)swift UICollectionViewController常用操作(swift 九宫格)
- iOS 8自动调整UITableView和UICollectionView布局
- 【IOS 开发学习总结-OC-57】★UI之UICollectionView 与UICollectionViewController
- iOS开发进阶 - 自定义UICollectionViewLayout实现瀑布流布局
- ios 中使用 Search Display Controller 来对 UITableView 进行前台查询
- iOSalertviewcontroller的action回调对横竖屏切换有影响
- iOS --- UICollectionView中使用reloadItemsAtIndexPaths进行局部cell更新
- iOS开发之窥探UICollectionViewController(一) -- Ready Your CollectionViewController
- iOS开发>学无止境 - UICollectionView自定义布局之风火轮[译]
- iOS- UICollectionView Controller 横竖屏九宫格布局
- iOS开发之UICollectionViewController系列(二) :详解CollectionView各种回调
- iOS 8自动调整UITableView和UICollectionView布局
- iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流
- iOS流水布局UICollectionView简单使用
- iOS实现UICollectionViewDataSource与Controller的分离
- [iOS]技巧集锦:UICollectionView在旋转屏幕后Cell中的约束不起作用或自动布局失效