在a中CollectionView,某些单元格应该有一个额外的子视图或图层.该CollectionView可以告诉调整它的细胞,因此,所有的内容需要适当调整.
目前,从包含具有imageview的单元的笔尖初始化单元; 单元格nib链接到自定义UICollectionViewCell子类,只执行init.检查自动调整子视图.
在CollectionView被告知通过导出和返回的值,以调整细胞sizeForItemAtIndexPath:.我已经子类化了一个FlowLayout,但它只指定ScrollDirection和Insets.
所有这一切都很好.问题:如何将子视图/图层添加到单元格,以便它也正确调整大小?我尝试使用translatesAutoresizingMaskIntoConstraintsoff 添加子视图和图层,但这些根本不会自动更改大小.还尝试使用代码框架/视图而不是nib.
我现在得到的最好的是cell.contentView.layer我添加的子层cellForItemAtIndexPath:; 那就是"手动"通过存储单元的大小frame.size从sizeForItemAtIndexPath:,这不仅难看而且与具有各种尺寸的不同小区的子层结束.
任何帮助赞赏!
我试图在所选的UICollectionviewCell中获取触摸位置.我有一个UIViewController,vc,包含一个UICollectionView,collectionView作为它的视图.collectionView内部是UICollectionViewCells.vc符合UICollectionViewDelegate所以最好我想在委托回调中获取触摸位置collectionView:(UICollectionView *)collection didSelectItemAtIndexPath:(NSIndexPath *)indexPath,(如果可能的话).有关如何做到这一点的任何建议?谢谢.
+--------------------------------------------+
| UICollectionView |
| |
| +-------------+ +-------------+ |
| | UICollec | | | |
| | tionView | | | |
| | Cell | | *<---------------<Touch here
| | | | | |
| +-------------+ +-------------+ |
| |
+--------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
*更新*
我最终检测到UIViewCollectionView使用UIGestureRecognizer的点击,然后将点击点转换为UICollectionViewCell视图.如果有更好的方法,请告诉我.谢谢.
-(void) viewDidLoad {
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[tapGesture setNumberOfTapsRequired:1];
[self.collectionView addGestureRecognizer:tapGesture];
}
-(void) handleTap:(UIGestureRecognizer*) gesture …Run Code Online (Sandbox Code Playgroud) 我有UICollectionView一个习惯UICollectionViewCell.该UICollectionView水平滚动,每个单元占据所有可见的画面.
该UICollectionViewCell有一个UIView子视图,这反过来又一个UIScrollView子视图.
在UIScrollView旨在垂直滚动,但它不是在所有的滚动.我试过设置滚动视图contentSize没有成功.
我怀疑UIScrollView是没有得到任何触摸事件而不是它是一个大小问题.
有什么建议?
编辑>>
我现在确定这是一个事件问题,而不是特定的事情UIScrollView.
我现在已经覆盖了pointInside:in UIView中的方法,UICollectionViewCell并且可以看到它现在每次点击它都会返回false.在这种情况下,您会认为tap事件会传播到下一个子视图,但UIView仍然没有获取事件.我已经尝试添加一个UIGestureRecognizer,UIView但它永远不会注册一个水龙头.
这里有什么东西拦截我不知道的事件吗?