将标签移动到目标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 不会从标签栏项目中快速加载

mathtype怎么删除下一章

如何从 jQuery 移动加载器中删除 <h1> 标签?

使用 <Image /> 标签时如何在 Next.js 中删除移动视图中的空白?

如何在目标c中的多个标签上显示文本文件中的随机单词