如何在objective-c中随时在屏幕上只显示集合视图的一个单元格
Posted
技术标签:
【中文标题】如何在objective-c中随时在屏幕上只显示集合视图的一个单元格【英文标题】:How to display only one cell of the collection view on the screen anytime in objective-c 【发布时间】:2017-07-03 08:13:54 【问题描述】:我有一个带有自定义collectionviewcell
的collectionview
。我想制作一个在任何时候都只在屏幕上显示一个图像的画廊。我必须做什么?
这是我的代码:
[myCollectionView registerClass:[myCustomCollectionViewCell class] forCellWithReuseIdentifier:"myIdentifier"];
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
myCustomCollectionViewCell *cell = (myCustomCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"myIdentifier" forIndexPath:indexPath];
cell.layer.masksToBounds=NO;
cell.imageView.image = [UIImage imageNamed:@"image"];
return cell;
【问题讨论】:
您需要在 sizeForItemAtIndexPath 中提供您想要的框架,并启用 uicollectionview 的分页属性,也请展示您的一些努力,否则这里没有人可以免费为您编写完整的代码。检查下面的 Neha Gupta 代码并尝试根据您的要求实施 是的,谢谢。@HardikThakkar 【参考方案1】:首先,像下面这样注册你的集合视图类
[yourCollectionView registerClass:[yourCustomCollectionViewCell class] forCellWithReuseIdentifier:"yourIdentifier"];
二、实现collection view datasource方法
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
return 1;
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
yourCustomCollectionViewCell *cell = (yourCustomCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"yourIdentifier" forIndexPath:indexPath];
cell.layer.masksToBounds=NO;
cell.imageView.image = [UIImage imageNamed:@"yourImageName"];
return cell;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
// update size accordingly
return CGSizeMake(100,100);
【讨论】:
以上是关于如何在objective-c中随时在屏幕上只显示集合视图的一个单元格的主要内容,如果未能解决你的问题,请参考以下文章
在 Objective-C 中让我的 UIViewController 全屏显示