Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 点击并按住:按钮中的疼痛_Iphone_Objective C - Fatal编程技术网

Iphone 点击并按住:按钮中的疼痛

Iphone 点击并按住:按钮中的疼痛,iphone,objective-c,Iphone,Objective C,请原谅这个糟糕的双关语,我正在使用UIButtons在我的iPhone应用程序中创建一个自定义选项卡栏。一切都运行得很好,除了当我点击并按住按钮时,直到我松开它,它才会选择它。这真的让我很烦,因为触地时选择了一个标准的UITabBarItem,感觉很不对 我已经将IBAction设置为“触地”,我的代码非常简单。我做错什么了吗 -(IBAction)tab1Pressed:(id)sender { if (self.tab1.selected == NO) { self

请原谅这个糟糕的双关语,我正在使用UIButtons在我的iPhone应用程序中创建一个自定义选项卡栏。一切都运行得很好,除了当我点击并按住按钮时,直到我松开它,它才会选择它。这真的让我很烦,因为触地时选择了一个标准的UITabBarItem,感觉很不对

我已经将IBAction设置为“触地”,我的代码非常简单。我做错什么了吗

-(IBAction)tab1Pressed:(id)sender 
{
    if (self.tab1.selected == NO) {
        self.tab1.selected = YES;
        self.tab2.selected = NO;
    }
}

您可以尝试子类化UIView并实现touchesBegind:withEvent:method

您可以尝试子类化UIView并实现touchesBegind:withEvent:method

您应该为按钮使用另一个事件。默认设置为“内部补漆”。释放按钮时会触发该操作


使用“触地”应该可以实现您想要的功能。

您应该为按钮使用另一个事件。默认设置为“内部补漆”。释放按钮时会触发该操作


使用“触地”应该可以做你想做的事。

找到了解决方案!将UILongPressGestureRecognitor添加到每个UIButton,而不是使用iActions。工作得很有魅力

在viewDidLoad中:

tapAndHold = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapAndHold)];
[tapAndHold setMinimumPressDuration:0.01];
[self.myTabBarButton addGestureRecognizer:tapAndHold];
[tapAndHold release];

有办法了!将UILongPressGestureRecognitor添加到每个UIButton,而不是使用iActions。工作得很有魅力

在viewDidLoad中:

tapAndHold = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapAndHold)];
[tapAndHold setMinimumPressDuration:0.01];
[self.myTabBarButton addGestureRecognizer:tapAndHold];
[tapAndHold release];

这实际上是一个很好的大写双关语。这实际上是一个很好的大写双关语…虽然问题是“我已经将IBAction设置为‘触地’”,所以这可能不是问题所在…太奇怪了。为什么“着陆”不起作用?它的行为就像“内部润色”。我会尝试子类化,但我不知道从哪里开始……虽然问题是“我已经将iAction设置为‘触地’”,所以这可能不是问题所在……太奇怪了。为什么“着陆”不起作用?它的行为就像“内部润色”。我会尝试子类化,但我不知道从哪里开始。等等,你的意思是我可以尝试子类化UIButton并用我的制表符更改方法实现touchesBegind:withEvent:吗?不,是UIView。您也可以在其drawRect方法中进行自定义绘图。等等,您的意思是我可以尝试将UIButton子类化,并使用我的制表符更改方法实现ToucheSBegind:withEvent:吗?不,是UIView。你也可以在它的drawRect方法中进行自定义绘图。哎呀,不要认为有任何理由将其作为实例变量。第一行应该是:UILongPressGestureRecognizer*点击并按住等。哎呀,不要认为有任何理由将其作为实例变量。第一行应该是:ui长按手势识别器*按住等。