以编程方式创建的UICollectionView不会滚动
我正在使用UICollectionView
制作一个水平选择器。 这很简单:使用UICollectionViewFlowLayout
以编程UICollectionView
创建UICollectionView
,使用UICollectionViewFlowLayout
和一个部分,滚动设置为水平。 它出现在屏幕上,在正确的单元格中显示正确的数据。 但它不会滚动 – 事实上它根本不响应用户交互。
这是视图的初始化程序:
- (id)initWithFrame:(CGRect)frame andItemData:(NSArray *)itemData { self = [super initWithFrame:frame]; if (self) { _itemData = itemData; UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; [flowLayout setItemSize:CGSizeMake(kCellWidth, kCellHeight)]; [flowLayout setMinimumInteritemSpacing:0.f]; [flowLayout setMinimumLineSpacing:0.f]; _collectionView = [[UICollectionView alloc] initWithFrame:[self frame] collectionViewLayout:flowLayout]; [_collectionView setDataSource:self]; [_collectionView setDelegate:self]; [_collectionView setBounces:NO]; [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"HorizontalPickerCell"]; [self addSubview:_collectionView]; } return self; }
我尝试以编程方式将UserInteractionEnabled
设置为YES
,但这没有任何区别(也不应该有,因为UserInteractionEnabled
默认设置为YES
)。 FWIW,集合视图使用标准的UICollectionViewCell
, UILabel
作为子视图添加到他们的contentView
。
有没有想过为什么这不滚动? 任何和所有帮助非常感谢。
好吧,这对我来说既愚蠢又容易修复。 我将集合视图的框架设置为其父视图的frame
而不是其bounds
。 这导致了各种自动布局问题,导致触摸事件无法注册。 现在全部修好了。
- setNeedsDisplay,drawRect或CALayer导致dispatch_continuation_alloc_from_heap malloc内存泄漏iOS
- iOS – 调整UIImage的色调
- 使用图层蒙版使UIView的部分透明?
- 为什么`在date不同的时间里,(date:.day,in:.era,for:date)给出相同的结果?
- iOS 7 UIImagePickerController相机没有图像
- XCode应用程序加载器 – 错误ITMS-9000无效的供应configuration文件
- 使用UIPageViewController从最后一个循环到第一个(反之亦然)
- FileManager表示文件不存在
- Xcode 6本地化无法读取一个string文件