UIView子类,触摸事件
问题描述:
我有一个UIView
的子类。每当我检测到触摸事件时,我都需要显示一个新的UI-View。UIView子类,触摸事件
我知道,我必须覆盖下面的方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
我的问题是,我不知道如何来显示全屏视图。
我曾尝试以下:
CGRect screenSize = [[UIScreen mainScreen] bounds];
UIView *mysubview = [[UIView alloc] initWithFrame : screenSize];
[self.window addSubview:mysubview];
但我不知道这是否是做正确的方式。
任何人都可以给我建议吗?
答
在这种情况下,我使用mySubView.frame = self.view.frame
;
答
不是将视图添加到窗口,而是将其添加为视图截取触摸的子视图?
UIView *mySubview = [[UIView alloc] initWithFrame:self.bounds];
[self addSubview:mySubview];
澄清后它会出现自定义视图是一种按钮,并希望新的观点在别处全屏视图中的层次结构。对于知道在哪里放置新视图的UIViewController
而言,这确实是一项工作。您可以在自定义视图上使用UITapGestureRecognizer
,而不是实现您自己的触摸处理代码,将UIViewController
用作全屏视图作为目标。在手势识别器操作方法中,您可以创建新视图并将其添加为UIViewController
的层次结构的子视图。
因为正在监听触摸事件的视图不是全屏视图,所以它只有100px的高度,并且位于屏幕的底部 – 2012-02-23 10:09:02