ios collectionview 怎么使cell滚动到指定的位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios collectionview 怎么使cell滚动到指定的位置相关的知识,希望对你有一定的参考价值。
参考技术A 你在点击cell的时候调用 - (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender ;那不是有个sender嘛,你可以给它传值。
然后在-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 里的sender,就是你刚传的那个值。本回答被提问者和网友采纳
如果collectionView低于某些uiview,iOS如何使collectionView接收触摸
【中文标题】如果collectionView低于某些uiview,iOS如何使collectionView接收触摸【英文标题】:iOS how to make collectionView receive touches if it's below some uiview 【发布时间】:2015-09-22 02:41:19 【问题描述】:我问一些不同的场景:
iOS How to make UIButton below UICollectionView receive touch?
但我也想知道是否可以在没有透明背景颜色的情况下将 collectionView 对齐到 uiview 下面并接收触摸?
然后我想在蓝色视图触发 collectionView 滚动行为时移动手指,并且我还想 UIButton 接收触摸。
命中测试不是解决方案。
为什么?
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
if ([self pointInside:point withEvent:event])
for (UIView *subview in [self.subviews reverseObjectEnumerator])
CGPoint convertedPoint = [subview convertPoint:point fromView:self];
UIView *hitTestView = [subview hitTest:convertedPoint withEvent:event];
if (hitTestView)
return hitTestView;
return self;
return nil;
只是因为手指在蓝色视图时它没有被触发。
【问题讨论】:
【参考方案1】:您可以使用 userInteractionEnabled=YES 子类化 UIView(蓝色),然后使用 hitTest
:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil; // <--- pass-through if touch on UIView (blue view)
else return hitView; // touch on children (UIButton)
【讨论】:
对不起,但这不是我的解决方案。因为蓝色视图它只是一个容器。例如,其中将包括一个 ImageView 甚至是 collectionView(用于滚动照片)。以上是关于ios collectionview 怎么使cell滚动到指定的位置的主要内容,如果未能解决你的问题,请参考以下文章
当collectionView滚动时,如何使iOS collectionView的特定单元格淡出?
Swift iOS - 如何使 CollectionView 的单元格大小
ios collectionview 怎么获取header的indexpath