ビューをポップするとき、確認を求めて、いくつかのデータを保存したいと思います。UIActionSheetを使用して確認を求めています。しかし、アクションシートでの応答に関係なく、ビューがバックグラウンドで変化しているため、応答を使用する際に問題が発生します。ナビゲーションコントローラーを使用してビューを切り替えています。どうすればこれを解決できますか
TIA
ビューをポップするとき、確認を求めて、いくつかのデータを保存したいと思います。UIActionSheetを使用して確認を求めています。しかし、アクションシートでの応答に関係なく、ビューがバックグラウンドで変化しているため、応答を使用する際に問題が発生します。ナビゲーションコントローラーを使用してビューを切り替えています。どうすればこれを解決できますか
TIA
より良いオプションは、確認を求めるためにuialertviewを使用することです。これを行うには、次の手順に従います。
ヘッダーファイルに次のものが含まれていることを確認してください。
@interface YourViewController : UIViewController <UIAlertViewDelegate>
確認を求められたら、次のコードを追加します。
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"Are You Sure" delegate:self cancelButtonTitle:@"YES" otherButtonTitles:@"NO", nil];
[alert show];
[alert release];
下のボタンを1つ押すと、デリゲートが呼び出されるので、アプリの.mファイルを追加します
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
// the user clicked one of the YES/NO buttons
if (buttonIndex == 0)
{
NSLog(@"NO button pressed");
}
else
{
//Save data here
NSLog(@"YES button pressed");
}
}
@PooLas私があなたを正しく理解していれば、ユーザーの確認にuiactionsheetを使用し、バックグラウンド(実際にはアクションシートの下)でビューコントローラーを変更します。まあ、それを行うことはできません。デリゲートは、それを表示するコントローラーに接続する必要があるためです(私が間違っている場合は、私を修正してください)。したがって、ボタンをクリックすると、最初にアクションシートを閉じてからビューコントローラを変更することしかできませんが、反対にすることはできません– PooLaS