点击并按住:uiBUTTon的痛苦

时间:2011-08-23 14:03:45

标签: iphone objective-c

请原谅,我正在使用UIButtons在我的iPhone应用程序中创建一个自定义标签栏。一切都很美妙,除了当我点击并按住按钮时,它不会选择它,直到我释放它。这真的让我烦恼,因为在触地时选择了一个标准的UITabBarItem,它只是感觉不对。

我已将IBAction设置为“Touch Down”,我的代码非常简单。我做错了吗?

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

3 个答案:

答案 0 :(得分:3)

有一个解决方案!为每个UIButton添加了UILongPressGestureRecognizer,而不是使用IBActions。工作就像一个魅力!

在viewDidLoad中:

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

答案 1 :(得分:2)

您应该为按钮使用其他事件。默认的是“内部触摸”。释放按钮时会触发该操作。

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

答案 2 :(得分:1)

您可以尝试子类化UIView并实现touchesBegan:withEvent:方法。