视图有Touch Up Inside
吗?
我想在用户点击或点击视图时调用操作。
目前我在这个视图上使用了一个隐藏按钮,但这不是一个聪明的方法。
感谢任何帮助:)
答案 0 :(得分:8)
你也可以在UIView上使用addGestureRecognizer方法,如下所示:
// In some View controller
UITapGestureRecognizer *tapGR;
tapGR = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)] autorelease];
tapGR.numberOfTapsRequired = 1;
[myUIView addGestureRecognizer:tapGR];
// Add a delegate method to handle the tap and do something with it.
-(void)handleTap:(UITapGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateEnded) {
// handling code
}
}
答案 1 :(得分:4)
我不明白为什么使用隐藏按钮不是一种聪明的方式......这是Apple本身建议的方式,我认为它很聪明,目前更好的方式......
答案 2 :(得分:0)
如果您想要在没有按钮的情况下检测屏幕上任何位置的触摸,请使用- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
。你也可以找到触摸的位置:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint *tLocation = [touch locationInView:self.view];
}
注意:touchesEnded
被称为每一个时间视图被点按,因此每次用户触摸屏幕时,上述tLocation
都会更改。