Lal*_*cky 5 iphone objective-c ios
我有一个VC RaceDayChecklistViewController.m,它是RaceDayChecklistViewControllerBase.m的子类.
在RaceDayChecklistVC.m中,添加了一个被调用两次的目标操作.nextOrNewButton是点击的按钮,我想调用"demo"动作.另外,checklistnavigationItem是栏按钮项.
- (void)viewDidLoad
{
checklistTableViewBase=checklistTableView;
checklistNavigationItemBase=checklistnavigationItem;
nextOrNewButtonBase=nextOrNewButton;
[nextOrNewButton addTarget:self action:@selector(demo) forControlEvents:UIControlEventAllEvents];
}
-(void) demo
{
RaceDayDataController *sharedController = [RaceDayDataController sharedDataController];
if (sharedController.isSubmited)
{
[self.checklistnavigationItem setTitle:@"New"]; //
}
else
{
[self.checklistnavigationItem setTitle:@"Next"];
[self showAlert];
}
}
-(void) viewWillDisappear:(BOOL)animated
{
[nextOrNewButton removeTarget:self action: @selector(demo) forControlEvents:UIControlEventAllEvents];
}
Run Code Online (Sandbox Code Playgroud)
可能是多次调用动作演示的原因是什么?它是基类负责人吗?
请指导.
UIButton在按下时生成多个事件:通常它们是UIControlEventTouchDownInside和UIControlEventTouchUpInside.所以,如果你想处理新闻,你应该抓住你需要的那个(可能UIControlEventTouchUpInside),而不是UIControlEventsAll.