UICollectionView:获取屏幕位置的单元格

时间:2013-09-10 20:48:28

标签: ios objective-c uicollectionview

我有一个使用JSON填充的UICollectionView。这是一个带有电影海报的封面流式布局。

我想知道是否有办法让我在屏幕上的某个点显示单元格的title属性,这样当我水平滚动时,会显示中心可见单元格的标题。

我已尝试使用indexPathForItemAtPoint,但该点似乎使用集合视图滚动,始终显示相同的索引。

编辑:添加代码:

UIView *test = [[UIView alloc] initWithFrame:CGRectMake(10, 30, self.view.frame.size.width+180, 390)];
test.backgroundColor = [UIColor clearColor];
superView.backgroundColor = [UIColor blackColor];


PerspectiveFlowLayout *layout = [[PerspectiveFlowLayout alloc]init];
self.boxes.bounces = NO;

BoxView *boxes = [[BoxView alloc] initWithFrame:test.frame collectionViewLayout:layout];


[test addSubview:boxes];
[superView addSubview: test];
NSIndexPath *path = [self.boxes indexPathForItemAtPoint:[self.boxes convertPoint:CGPointMake(100.0, 100.0) toView:[self.boxes superview]]];

Cell *atpoint = [self.boxes cellForItemAtIndexPath:path];


NSLog(@"%@", atpoint.model.name);

非常感谢你的帮助, 洛根

1 个答案:

答案 0 :(得分:0)

尝试在转换点时交换项目,因此您将从superview转到集合视图:

NSIndexPath *path = [self.boxes indexPathForItemAtPoint:[[self.boxes superview] convertPoint:CGPointMake(100.0, 100.0) toView:self.boxes]];