在我的应用程序中,我有一个按钮,当按下它时,可以说“在里面触摸”另一个视图被打开。那么我的问题是,我怎样才能做两个动作?我的意思是,当我按下按钮时,我想做一些事情(比如隐藏按钮或更改按钮的图像),当我停止按下时,我想导航到另一个视图。
5 回答
做这个:
[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
}
如果您想在“按下”时“做某事”,那么只需连接“Touch Down”
作为按钮委托的类需要跟踪状态,并通过可能发生的事件(状态机)管理该状态。使用实例变量来跟踪状态。
当您处理按钮操作时,代码应该确定它处于什么状态,并进行必要的更改以移动到下一个状态。
Just add in your code to IBActions. Then like the actions through the interface builder to different touch events.
Code:
[yourUIButton addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventXXXXX];
There are a lot of events you can link your UIButton to:
UIControlEventTouchDown
UIControlEventTouchDownRepeat
UIControlEventTouchDragInside
UIControlEventTouchDragOutside
UIControlEventTouchDragEnter
UIControlEventTouchDragExit
UIControlEventTouchUpInside
UIControlEventTouchUpOutside
UIControlEventTouchCancel
您可以对不同的 ControlEvents 使用不同的操作
[button addTarget:self action:@selector(action1) forControlEvents:UIControlEventTouchDown] ;
[button addTarget:self action:@selector(action2) forControlEvents:UIControlEventTouchUpInside] ;