-1

I have an iPad app using XCode 4.6, Storyboards, iOS 6.2. I looked at SO and Google, but nothing about when to send the message to the button.
I am trying to save some data to CoreData when the user leaves a "scene" but it's not working.
Here is the code:

-(void) viewWillDisappear:(BOOL)animated  {

     [bSavePreferences sendActionsForControlEvents:UIControlEventTouchUpInside];

}

-bSavePreferences is in the same class as viewWillDisappear, but it never gets called. Why?

UPDATE: I should have mentioned that I am using a UITabBarController to control which page is selected.

4

2 に答える 2

2

いくつかのこと...

  1. この方法でアクションを呼び出すべきではありません。保存するには、IBAction メソッドを直接呼び出す必要があります。

  2. viewWillDisappear を実装するときに、[super viewWillDisappear:animated] を呼び出す必要があります。

  3. 根本的な問題として、ビューがビュー階層から削除されたことに応答して、viewWillDisappear が呼び出されます。この時点で、UIButton がイベントを受信できなくなる可能性があります。ドキュメントを参照することをお勧めします。

于 2013-04-03T20:43:46.417 に答える
0

複数の方法があります。

1 つの方法は、ボタンにターゲット アクションを追加することです。

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

2 番目のオプションは、IBActions を使用することです。

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

コンセントを正しく配線してください。

于 2013-04-03T21:05:06.043 に答える