作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个主视图 Controller ,里面有两个 subview ,一个是 note-view ,另一个是 share-view 。当我单击主视图 Controller 中的 TableView 的单元格时,它会弹出笔记 View ,笔记 View 中有按钮,如果用户点击该按钮,它会弹出另一个 subview ,即共享 View 。但是我需要在用户点击笔记 View 时关闭共享 View 。是否可以在 subview 中实现触摸事件?我已经完成了这个编码,但结果是错误的在viewdidload中
NotesView *label =[[NotesView alloc]init];
UITapGestureRecognizer *tapGesture =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(NoteTap)] autorelease];
[label addGestureRecognizer:tapGesture];
[tapGesture release];
然后
-(void)NoteTap
{
UIView *langview = (UIView *)[self.view viewWithTag:120];
//ViewWithTag Number should be same as used while allocating
[langview removeFromSuperview];
}
最佳答案
在 View Controller 的 touchesBegan:
中,您可以像这样检查触摸事件是否发生在 subview 的框架内。
CGPoint touchPoint = [touch locationInView:self];
if (CGRectContainsPoint(label.frame, touchPoint)) {
UIView *langview = (UIView *)[self.view viewWithTag:120];
[langview removeFromSuperview];
}
关于iphone - 如何在 subview 中设置触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265489/
我是一名优秀的程序员,十分优秀!