如何检测 UI 图像上的触摸?
Posted
技术标签:
【中文标题】如何检测 UI 图像上的触摸?【英文标题】:How do i detect a touch on a UI image? 【发布时间】:2015-11-18 01:03:12 【问题描述】:我正在制作一个单视图应用程序,我希望 UI 图像从屏幕的一侧移动到另一侧。我想检测此图像上的触摸。我无法使用按钮,因为我无法使按钮移动。更精确:当我单击 UI 图像时,我希望显示一个标签并且不再隐藏。我不能使用 UI 按钮,因为当我单击图像时,图像会移动,按钮无法移动。我希望这更清楚。 这是到目前为止的代码:
@IBAction func Start1(sender: UIButton)
Person1.center = CGPointMake(160, 450) ;
[UIView.animateWithDuration(3,
animations: self.Person1.center = CGPointMake(160, 70 )
)];
@IBOutlet var Person1: UIImageView!
谢谢
【问题讨论】:
***.com/questions/19611601/… 答案在objective-c中,但从我所见的swift来看,方法是一样的。只需转换语法。 为什么按钮不能动? 【参考方案1】:据我了解,您希望在屏幕上使用滑动手势。 这是添加滑动手势的代码
UISwipeGestureRecognizer *swipeRightBlack = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(slideToRightWithGestureRecognizer:)];
swipeRightBlack.direction = UISwipeGestureRecognizerDirectionRight;
[self.viewBlack addGestureRecognizer:swipeRightBlack];
如果你也想添加单点触控手势。
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapGesture:)];
这是在您的项目中添加different gesture 的一个很好的解释。
【讨论】:
【参考方案2】:我不太清楚我明白你的意思,但是如果你想让图片自动从一个位置移动到另一个位置,你可以直接写两个点,然后去动画就实现了。或者你想拖动动态图像,那么你需要在UIImageView
上添加一个拖动手势UIPanGestureRecognizer
,然后根据拖动位置得到图片移动。
【讨论】:
对不起...谢谢您的回复,让我更好地向您解释。 当我点击 UI 图像时,我想要一个标签显示并且不再被隐藏。我不能使用 UI 按钮,因为当我单击图像时,图像会移动,按钮无法移动。我希望这更清楚。 其实我觉得两个方案都行。可以使用按钮。因为按钮本身有点击手势事件,你可以去相应地重写这个事件活动。或者您可以使用标签来显示和隐藏。这是绝对的,如果您的代码没有实现该行为,那么请仔细查看代码。以上是关于如何检测 UI 图像上的触摸?的主要内容,如果未能解决你的问题,请参考以下文章