以编程方式点击UIButton无法正常工作

时间:2013-04-03 20:33:10

标签: ios objective-c

我有一个使用XCode 4.6,Storyboards,iOS 6.2的iPad应用程序。我查看了SO和Google,但没有关于何时将消息发送到按钮。 我试图在用户离开“场景”时将一些数据保存到CoreData但是它不起作用。
这是代码:

-(void) viewWillDisappear:(BOOL)animated  {

     [bSavePreferences sendActionsForControlEvents:UIControlEventTouchUpInside];

}

-bSavePreferences与viewWillDisappear在同一个类中,但它永远不会被调用。为什么呢?

更新:我应该提到我正在使用UITabBarController来控制选择哪个页面。

2 个答案:

答案 0 :(得分:2)

一些事情......

  1. 您不应该以这种方式调用动作。您应该直接调用IBAction方法进行保存。

  2. 在实施viewWillDisappear时,您需要在某个时刻调用[super viewWillDisappear:animated]。

  3. 对于根问题,将调用viewWillDisappear以响应从视图层次结构中删除的视图。此时UIButton可能无法再接收事件。我鼓励您查看documentation

答案 1 :(得分:0)

有多种方法:

一种方法是在按钮上添加目标操作:

 [myButton addTarget:self 
         action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];

第二种选择是使用IBActions:

- (IBAction)ButtonPressed { NSLog@"press"; }

确保正确连接插座!