Cocoa touch UIButton-用于全屏捕捉触摸

Cocoa touch UIButton-用于全屏捕捉触摸,cocoa-touch,uiview,Cocoa Touch,Uiview,我绝对是iPhone编程的初学者。我有两个简单的问题 1) 我原以为UIView会像UIButton一样对触摸做出响应,但似乎我不得不对其进行分类。我还不太清楚。所以,我的肮脏的小解决方案是在所有东西上放置一个UIButton,使其全屏显示,并在按下或禁用时关闭任何颜色更改,等等。这很好用,我的应用程序现在对屏幕的任何部分都有响应,而且看起来没有按下按钮。所以我问题的第一部分是:这不好吗?若然,原因为何 2) 几乎屏幕的任何部分都会有响应。出于某种原因,显示屏底部5%左右的部分对触摸没有反应,我

我绝对是iPhone编程的初学者。我有两个简单的问题

1) 我原以为UIView会像UIButton一样对触摸做出响应,但似乎我不得不对其进行分类。我还不太清楚。所以,我的肮脏的小解决方案是在所有东西上放置一个UIButton,使其全屏显示,并在按下或禁用时关闭任何颜色更改,等等。这很好用,我的应用程序现在对屏幕的任何部分都有响应,而且看起来没有按下按钮。所以我问题的第一部分是:这不好吗?若然,原因为何

2) 几乎屏幕的任何部分都会有响应。出于某种原因,显示屏底部5%左右的部分对触摸没有反应,我也不知道为什么。按钮向下延伸到底部,没有其他东西可以阻挡触摸。有什么想法吗


谢谢

要捕获触摸,您只需在视图控制器中实现以下任何一种方法—为此使用UIButton(最多)有点反常,最终会限制您可以提供的功能类型

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
有关这些事件的更多信息,请参阅


关于你的第二点——我个人注意到显示屏底部有一个小的“死区”(主页按钮是“底部”)——我认为这正是显示屏的本质,但我必须承认,我从来没有真正研究过它的任何细节。

5%的纵向显示大约是状态栏的大小。现在我知道他说的是他的手机底部,但有可能他拿着手机的方向不对,他的应用程序不支持方向。只是一个想法。我没有你在我的任何设备上讲话的死点。它不仅在电话上,UIButton的死点也在模拟器中。我敢肯定,这是一个副作用,使用UIButton的方式,它并不打算被使用。如果我将按钮向下延伸到显示屏的可见区域下方,则整个屏幕可以再次触摸。当然,这是一种卑鄙的小方法。