将标签移动到目标c中的矩形后如何从标签中删除触摸动作
Posted
技术标签:
【中文标题】将标签移动到目标c中的矩形后如何从标签中删除触摸动作【英文标题】:how to remove touch action from label after moving it to a rectangle in objective c 【发布时间】:2017-04-27 09:12:15 【问题描述】:我在标签上应用触摸移动动作,将其拖入一个矩形框,它正在通过触摸很好地移动,现在我想从标签中删除触摸动作,当它被放到矩形中时,我怎样才能得到任何帮助。 这是标签拖动结束后的代码。
- (void)dragEnd:(UIPanGestureRecognizer *)gestureRecognizer
BOOL cancelPanGesture = YES;
if (cancelPanGesture)
gestureRecognizer.enabled = NO;
if(rectangle.frame.size.width == _lbl.frame.size.width)
gestureRecognizer.enabled = NO;
if (gestureRecognizer.state == UIGestureRecognizerStateCancelled)
gestureRecognizer.enabled = YES;
【问题讨论】:
【参考方案1】:试试这个
if(rectangle.frame.size.width == _lbl.frame.size.width)
gestureRecognizer.enabled = NO;
_lbl.userInteractionEnabled = false;
UILabel *tapLable = (UILabel *)[gestureRecognizer view];
[tempLabel removeGestureRecognizer:gestureRecognizer];
【讨论】:
是的,我想在拖动标签后禁用触摸标签 当它被拖动时,触摸应该被禁用 如果条件正确,我问你要禁用上面的标签对象名称“_lbl” 是的,在拖动时应该禁用 _lbl 让我们continue this discussion in chat。【参考方案2】:希望对你有帮助:)
if(CGRectContainsRect(rectangle.frame, _lbl.frame)
gestureRecognizer.enabled = NO;
_lbl.userInteractionEnabled = false;
UILabel *tapLable = (UILabel *)[gestureRecognizer view];
[tempLabel removeGestureRecognizer:removeGestureRecognizer];
【讨论】:
我如何将它应用到一个标签循环上,它只适用于一个标签 这只是一个条件。您可以创建一个带有 2 个参数的函数:矩形视图和标签上的引用。在该函数中,您可以设置此条件。 我尝试但只有 _lbl.userInteractionEnabled = false;这个工作 - (void)endDrag:(UIPanGestureRecognizer *)gestureRecognizer for(int i=0;i<_columnb.count uilabel objectatindex:i bool cancelpangesture="是;" if _lbl.frame.size.width no templabel.userinteractionenabled="false;" removegesturerecognizer:gesturerecognizer nslog> ColumnB 将我的 4 个标签保存在一个数组中以上是关于将标签移动到目标c中的矩形后如何从标签中删除触摸动作的主要内容,如果未能解决你的问题,请参考以下文章
使用目标 c 后,UiViewController 不会从标签栏项目中快速加载
使用目标 c 后,UiViewController 不会从标签栏项目中快速加载