0

所以我有一个用 IB 制作的 UIView。我将该类设置为我的自定义 UIView 类,以便我可以从该视图中获取触摸。但由于某种原因,我屏幕上的 UIView 不是我的自定义类。我试着铸造它:

myView = (CustomUIView *)myView;

我还尝试将其设置为等于 CustomUIView:

myView = [[CustomUIView alloc] init];

(当我将对象添加到屏幕时,这会导致错误(我猜这是因为我已经覆盖了 IBOutlet 或其他东西。

那么我怎样才能从这个视图中获得触摸(触摸开始,触摸取消等)?

4

4 回答 4

0

看看将 UIGestureRecognizers 添加到您的视图中。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html

我认为这是你最好的选择。

于 2012-06-07T20:33:13.733 回答
0

确保您的插座也符合CustomUIView标题中的新类:

#import "CustomUIView.h"

.....

IBOutlet CustomUIView *myView;
于 2012-06-07T20:40:32.683 回答
0

您可以以编程方式进行,

CustomUIView *custom = [[CustomUIView alloc] initWithFrame:self.view.frame];
self.view = custom;
[custom release];

并在 CustomUIView 上实现 UIResponder

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

}

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

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

}
于 2012-06-07T20:53:38.557 回答
0

大声笑方式愚蠢,我有另一个 UIView 以编程方式添加到 customUIView 填充 customUIView 防止任何触摸通过。

于 2012-06-07T21:51:40.823 回答