我正在尝试将补充页脚添加到UICollectionView
. 根据Apple的文档,我似乎正在使用所有正确的方法,但由于某种原因:
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
...根本没有被调用。
我已经子类化为UICollectionReusableView
一个名为SmartActionFooterView
.
在方法ViewController
中,ViewDidLoad
我正在注册视图并将其与重用标识符相关联,如下所示:
[self.collectionView registerClass:[SmartActionFooterView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footerView"];
然后用...覆盖该UICollectionFlowDelegate
方法
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
referenceSizeForFooterInSection:(NSInteger)section
{
NSLog(@"sizing footer");
return CGSizeMake(300,100);
}
这NSLog
是打印出来的。
然后我正在点击UICollectionViewDataSource
方法...
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Something is happening with the footer...");
SmartActionFooterView *footerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footerView" forIndexPath:indexPath];
footerView.backgroundColor = [UIColor yellowColor];
return footerView;
}
然而,这NSLog
没有打印任何内容,但是我不知道为什么。
我有需要以编程方式完成这一切的限制(没有故事板)。
谢谢!