- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 RFQuiltLayout
和我的UICollectionView
.
我的 CollectionView 在标准 UICollectionViewFlowLayout
下工作正常但它只是一个网格。我希望我的照片布局如图所示 here.
我无法理解在 UICollectionView 中使用自定义布局需要什么。
我正在以编程方式做所有事情。我没有使用任何 Interface Builder/NIB/Storyboards。
使用标准 FlowLayout 让 UICollectionView 进行布局很容易,但是当我尝试更改为 RFQuiltLayout 时,我遇到了以下错误:
'UICollectionView must be initialized with a non-nil layout parameter'
@interface PFRootViewController : UIViewController <OFFlickrAPIRequestDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@property (strong, nonatomic) UICollectionView *collectionView;
//UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];
//Used to use the above standard FlowLayout, but now trying to move to the below RFQuiltLayout
RFQuiltLayout* layout = (id)[self.collectionView collectionViewLayout];
layout.direction = UICollectionViewScrollDirectionVertical;
layout.blockPixels = CGSizeMake(100, 40);
self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height) collectionViewLayout:layout];
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
[self.collectionView registerClass:[PFUICollectionViewCell class] forCellWithReuseIdentifier:@"FlickrCell"];
//Only Layout delegate method i've implemented:
- (CGSize) blockSizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row % 2 == 0)
return CGSizeMake(80, 40);
return CGSizeMake(40, 80);
}
最佳答案
RFQuiltLayout* layout = (id)[self.collectionView collectionViewLayout];
在这里,您在初始化 Collection View 之前向 Collection View 询问布局对象,两行。与您注释掉的行进行比较://UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];
您需要创建一个新的布局对象:RFQuiltLayout* layout = [[RFQuiltLayout alloc] init];
然后将其分配给您的当前 View 。
查看存储库的自述文件,问题是您正在从 viewDidLoad
复制代码方法,它假定 Collection View 及其布局已从 Storyboard 中初始化。如果您在代码中创建 View ,则还需要创建布局。
关于ios - RFQuiltLayout 和 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21664555/
我正在尝试使用 RFQuiltLayout和我的UICollectionView . 我的 CollectionView 在标准 UICollectionViewFlowLayout 下工作正常但它只
我是一名优秀的程序员,十分优秀!