【发布时间】:2013-09-09 07:04:16
【问题描述】:
我的 xib 文件中有两个按钮。这是我的接口文件
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *testButtonOut;
@property (strong, nonatomic) IBOutlet UIButton *button2;
- (IBAction)testButton:(id)sender;
- (void)buttonReleased;
@end
这些是我的实现文件中两个函数的实现
- (IBAction)testButton:(id)sender {
button2.highlighted=YES;
[testButtonOut addTarget:self action:@selector(buttonReleased) forControlEvents:UIControlEventTouchCancel];
}
- (void)buttonReleased{
button2.highlighted=NO;
}
当我单击 testButton 并释放时,它不会触发 buttonReleased 函数(我使用断点来检查它),但是 如果我将 UIControlEventTouchCancel 更改为 UIControlEventTouchUpInside 它会在我单击它时触发 buttonReleased 函数但是我不想在按钮单击时触发它我想在按钮释放时触发它,我也尝试过 TouchUpOutside 但也没有触发。我应该使用哪个事件以便在我释放时调用 buttonReleased 函数点击按钮事件?
【问题讨论】:
-
如果您想在手指超出控件边界时发生事件,请使用“UIControlEventTouchUpOutside”。
-
正如我提到的,TouchUpOutside 也不起作用
标签: ios objective-c xcode uibutton uicontrolevents