如何检测UIView何时被抽出

时间:2014-01-16 00:49:39

标签: ios objective-c touch uicollectionview uicollectionviewcell

我正在尝试创建一个简单的像素绘图应用程序。我做了一些研究,但不知道从哪里开始,所以我一直在开发者网站上看一些例子。

我打算创建一个收集单元格的集合视图,当用户触摸或在屏幕上滑动时,如果触摸或滑动超过其中一个收集单元格,我想将该集合的背景颜色更改为当前选择的颜色。

这些是我打算使用的方法。

#pragma mark - Touch Methods
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{


}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{


}

然而我不知道如何检测触摸是否拦截任何细胞。 所以我的问题是

1,使用集合视图是个好主意?因为将来我将允许用户将分辨率从8 16 - 32位等改变。 2,如何判断细胞被截获,触摸或滑过以便我可以改变它的颜色?

1 个答案:

答案 0 :(得分:1)

UICollectionView有一个方法indexPathForItemAtPoint:,它可以让你访问特定点的单元格,UITouch有方法,locationInView:这将为你提供触摸点 - 使用这两种方法应该是给你一个好的起点。

至于集合视图是否适用于此目的,如果不了解更多关于您正在尝试做什么的话,很难说。这是一种简单的方法,可以在屏幕上获得您想要的任何大小的正方形,所以我认为它可能没问题。