回答
如果你正在寻找不允许用户从触摸拖出来,看UIControl类。特别注意的:如果你使用的InterfaceBuilder
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
,你应该看看可供活动的选项(在Inspector窗口,第二个选项卡)。
是的我一直在研究UIControl类和IB中的按钮连接,但我想问的是如何禁用该按钮的拖出功能。现在的情况是,我在屏幕上有2个UI按钮,如果用户先点击一个按钮并滑过第二个按钮,它将触发第一个按钮的拖出动作,但我想要做的是触发“触摸“第二个按钮的动作。 – user462407 2010-11-01 02:14:17
我不确定我完全理解你的问题,但我会尽力回答。您应该能够设置一个目标:操作:对于按钮1上的拖出事件,其中目标是“按钮2”,操作是“向下”。 – joshpaul 2010-11-01 21:08:58
您不能禁用触摸拖动事件,但可以使用替代方法处理它们。 您需要处理触摸事件处理程序。当我们向左或向右滑动TouchCancel事件时,您向上或向下滑动TouchDragExit被触发。确保实施两者。
@property(nonatomic)BOOL buttonFullyTouched; 。 。 。 //触及事件
- (IBAction)filterTouchedDown:(id)sender
{
_nameButton.selected = NO;
_codeButton.selected = NO;
_dateButton.selected = NO;
_filterFullyTouched = NO;
}
//触摸拖动退出事件
- (IBAction)buttonDragExit:(id)sender
{
if (!_buttonFullyTouched)
{
UIButton *randomButton = (UIButton *)[_groupView viewWithTag:_previousButtonSelectedTag + 2000];
randomButton.selected = YES;
}
}
//触摸取消事件
- (IBAction)buttonTouchCancel:(id)sender
{
if (!_buttonFullyTouched)
{
UIButton *randomButton = (UIButton *)[_groupView viewWithTag:_previousButtonSelectedTag + 2000];
randomButton.selected = YES;
}
}
// TouchUpInside事件
- (IBAction)groupButtonTapped:(id)sender
{
_nameButton.selected = NO;
_codeButton.selected = NO;
_dateButton.selected = NO;
_buttonFullyTouched = YES;
// logic for further code
}
你意味着像拖放一样拖动? – Daniel 2010-10-29 12:54:14
是的,但我想禁用拖动,一旦我从UIbutton触摸并滑动它执行拖动操作。所以我只是想知道是否可以禁用拖动动作 – user462407 2010-11-01 04:36:28