Iphone 子类UIView,但不接触
因此,我用IB创建了一个UIView。我将该类设置为我的自定义UIView类,这样我就可以从该视图中获得触感。但由于某些原因,我屏幕上的UIView不属于我的自定义类。我试着铸造它:Iphone 子类UIView,但不接触,iphone,ios,uiview,Iphone,Ios,Uiview,因此,我用IB创建了一个UIView。我将该类设置为我的自定义UIView类,这样我就可以从该视图中获得触感。但由于某些原因,我屏幕上的UIView不属于我的自定义类。我试着铸造它: myView = (CustomUIView *)myView; 我还尝试将其设置为CustomUIView: myView = [[CustomUIView alloc] init]; (当我向屏幕添加对象时,这会导致一个错误(我猜这是因为我覆盖了IBOutlet或其他内容) 那么,如何从该视图中获取触摸(触
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方法)因此,它可以工作,但是触摸仍然没有通过。你可以发布你初始化自定义视图的代码吗?以及自定义视图的实现