在我的应用程序中,我有一个按钮,当按下它时,让我们说“内部触摸”打开另一个视图。我的问题是,我该怎么做两个动作?我的意思是,当我按下按钮时,我想要做些事情(比如隐藏按钮或更改按钮的图像),当我停止按下时,我想要导航到另一个视图。
答案 0 :(得分:2)
如果你想在“按下”时“做某事”,那么只需勾起'触摸'
答案 1 :(得分:2)
这样做:
[yourbutton addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
[yourbutton addTarget:self action:@selector(touchDown:) forControlEvents:UIControlEventTouchDown];
现在选择器是:
-(IBAction)touchUp :(id)sender{
UIButton *btn = (UIButton *)sender;
[btn setImage:yourImage forState:UIControlStateHighlighted];
}
-(IBAction)touchDown :(id)sender{
//Navigate here
}
答案 2 :(得分:1)
作为按钮委托的类需要跟踪状态,并通过可能发生的事件(状态机)管理该状态。使用实例变量来跟踪状态。
当您处理按钮操作时,代码应确定它所处的状态,并进行必要的更改以转移到下一个状态。
答案 3 :(得分:0)
只需将代码添加到IBActions即可。然后就像通过界面构建器对不同触摸事件的动作一样。
代码:
[yourUIButton addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventXXXXX];
您可以将许多活动链接到您的UIButton:
UIControlEventTouchDown
UIControlEventTouchDownRepeat
UIControlEventTouchDragInside
UIControlEventTouchDragOutside
UIControlEventTouchDragEnter
UIControlEventTouchDragExit
UIControlEventTouchUpInside
UIControlEventTouchUpOutside
UIControlEventTouchCancel
答案 4 :(得分:0)
您可以对不同的ControlEvents使用不同的操作
[button addTarget:self action:@selector(action1) forControlEvents:UIControlEventTouchDown] ;
[button addTarget:self action:@selector(action2) forControlEvents:UIControlEventTouchUpInside] ;