我有一个使用XCode 4.6,Storyboards,iOS 6.2的iPad应用程序。我查看了SO和Google,但没有关于何时将消息发送到按钮。
我试图在用户离开“场景”时将一些数据保存到CoreData但是它不起作用。
这是代码:
-(void) viewWillDisappear:(BOOL)animated {
[bSavePreferences sendActionsForControlEvents:UIControlEventTouchUpInside];
}
-bSavePreferences与viewWillDisappear在同一个类中,但它永远不会被调用。为什么呢?
更新:我应该提到我正在使用UITabBarController来控制选择哪个页面。
答案 0 :(得分:2)
一些事情......
您不应该以这种方式调用动作。您应该直接调用IBAction方法进行保存。
在实施viewWillDisappear时,您需要在某个时刻调用[super viewWillDisappear:animated]。
对于根问题,将调用viewWillDisappear以响应从视图层次结构中删除的视图。此时UIButton可能无法再接收事件。我鼓励您查看documentation。
答案 1 :(得分:0)
有多种方法:
一种方法是在按钮上添加目标操作:
[myButton addTarget:self
action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
第二种选择是使用IBActions:
- (IBAction)ButtonPressed { NSLog@"press"; }
确保正确连接插座!