UIButton的TouchUpInside触摸位置

所以我有一个大UIButton ,它是一个UIButtonTypeCustom ,按钮目标要求UIControlEventTouchUpInside 。 我的问题是我怎么能确定在UIButton触摸发生。 我想这个信息,所以我可以显示来自触摸位置上的弹出窗口。 以下是我已经试过:

UITouch *theTouch = [touches anyObject]; CGPoint where = [theTouch locationInView:self]; NSLog(@" touch at (%3.2f, %3.2f)", where.x, where.y);

和各种其他迭代。 按钮的目标方法通过从它那里得到的信息sender

UIButton *button = sender;

那么,有没有办法,我可以使用类似: button.touchUpLocation

我在网上看了看,也找不到类似的提前这个这样的感谢什么。

--------------解决方案-------------

UITouch *theTouch = [touches anyObject];
CGPoint where = [theTouch locationInView:self];
NSLog(@" touch at (%3.2f, %3.2f)", where.x, where.y);

这是正确的想法,但这些代码可能是在您的视图控制器的动作里面,对不对? 如果是这样,那么self指视图控制器,而不是按钮。 你应该指针传递到该按钮-locationInView:

这里有一个测试的动作,你可以在你的视图控制器尝试:

- (IBAction)buttonPressed:(id)sender forEvent:(UIEvent*)event
{
UIView *button = (UIView *)sender;
UITouch *touch = [[event touchesForView:button] anyObject];
CGPoint location = [touch locationInView:button];
NSLog(@"Location in button: %f, %f", location.x, location.y);
}

你尝试到一个手势识别器添加到您的按钮?

分类:iphone 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.422 (s). 10 q(s)