Iphone 子类UIView,但不接触

Iphone 子类UIView,但不接触,iphone,ios,uiview,Iphone,Ios,Uiview,因此,我用IB创建了一个UIView。我将该类设置为我的自定义UIView类,这样我就可以从该视图中获得触感。但由于某些原因,我屏幕上的UIView不属于我的自定义类。我试着铸造它: myView = (CustomUIView *)myView; 我还尝试将其设置为CustomUIView: myView = [[CustomUIView alloc] init]; (当我向屏幕添加对象时,这会导致一个错误(我猜这是因为我覆盖了IBOutlet或其他内容) 那么,如何从该视图中获取触摸(触

因此,我用IB创建了一个UIView。我将该类设置为我的自定义UIView类,这样我就可以从该视图中获得触感。但由于某些原因,我屏幕上的UIView不属于我的自定义类。我试着铸造它:

myView = (CustomUIView *)myView;
我还尝试将其设置为CustomUIView:

myView = [[CustomUIView alloc] init];
(当我向屏幕添加对象时,这会导致一个错误(我猜这是因为我覆盖了IBOutlet或其他内容)


那么,如何从该视图中获取触摸(触摸开始、触摸取消等)?

看看如何将UIGestureRecognitors添加到您的视图中


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

确保您的门店也符合标题中新的
CustomUIView
类:

#import "CustomUIView.h"

.....

IBOutlet CustomUIView *myView;

你可以通过编程来实现

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 {

}

哈哈,太愚蠢了,我在customUIView中添加了另一个UIView,它通过编程填充了customUIView,阻止了任何触摸。

我的插座确实符合customUIView类,但它仍然无法获得触摸。您的
customUIView
类是否实现了触摸方法,
-touchsbegind:
-touchesEnded:
-touchesCancelled:
。如果没有,那就是你的问题。你需要实现这些方法才能真正接收
touch
事件。显示
CustomUIView
.m文件的代码。我在我的CustomUIView.m中实现了这些方法。请确保属性
.userInteractionEnabled
在您的类上设置为
TRUE
。@ManOx:这些触碰方法需要在UIViewController中实现,而不是在UIView CustomUIView的子类中实现。但是我不需要手势识别器,我需要触碰。手势识别器为您提供触碰。UIAPgestureRecognitor会在点击视图时告诉您。UIPanG当点击视图、移动触摸和触摸结束时,eStureRecognitor会告诉您。手势识别器是苹果公司更新的首选解决方案(触摸开始、移动和结束仍然有效,但已经过时)。它们也更容易理解,这就是我建议它的原因。因此我尝试了这个方法,并将屏幕上的UIView替换为customUIView(我知道它被替换是因为调用了init方法)因此,它可以工作,但是触摸仍然没有通过。你可以发布你初始化自定义视图的代码吗?以及自定义视图的实现