为UIView添加触摸区域(iOS5)

时间:2012-05-30 09:15:02

标签: objective-c ios xcode uiview uiviewcontroller

我有一个MainViewController的MainView。现在我想添加一个特定区域,我想在其中注册触摸(在特定区域绘画)。我怎么能这样做? 我想过用自己的子视图控制器添加一个子视图,但是this guy告诉我这不是一个好方法。

2 个答案:

答案 0 :(得分:2)

您链接的帖子已部分过时,因为它是在Apple在iOS 5中引入对View Controller Containment的支持之前编写的。

那就是说,这是你的选择:

  1. 子视图由其自己的视图控制器或

  2. 管理
  3. 您直接使用MainViewController来回复子视图中的触摸或

  4. 您创建了一个UIView子类,无需视图控制器的帮助即可解释自身的触摸。

答案 1 :(得分:1)

将自定义视图添加为属性,名为touchArea

-(void) touchesBegan/Moved/Ended (NSSet *)touches withEvent:(UIEvent *)event {

CGPoint location = [[touches anyObject] locationInView:self.view];

if (CGRectContainsPoint(touchArea.frame, location))
//code
}

}