0

我的 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 函数?

4

1 回答 1

0

使用“UIControlEventTouchUpInside”代替
“UIControlEventTouchCancel”

于 2013-09-09T07:08:19.133 回答