このスクリーンショットのように、iOS 5 で削除の確認を表示する標準的な方法はありますか?
標準的な方法がない場合は、どのソリューションでも問題ありません。
このスクリーンショットのように、iOS 5 で削除の確認を表示する標準的な方法はありますか?
標準的な方法がない場合は、どのソリューションでも問題ありません。
UIActionSheet
破壊ボタンセット付きです。ドキュメントを参照してください。
例えば
// Create the action sheet
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Delete"
otherButtonTitles:nil];
...
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == actionSheet.destructiveButtonIndex) {
// Do the delete
}
}
UIActionSheetは次のように使用できます。
UIActionSheet *actionSheet = [UIActionSheet alloc] initWithTitle:@"Confirm" delegate:aDelegate cancelButtonTitle:nil destructiveButtonTitle:@"Delete" otherButtonTitles:@"Cancel", nil];
[actionSheet showFromRect:aRect inView:aView animated:YES];
UIActionSheet
は iOS 8 で廃止されました。代わりに、UIAlertController
推奨スタイルのUIAlertControllerStyleActionSheet
.
// Create a new alert, with an (optional) title and message
UIAlertController* alert = [UIAlertController alertControllerWithTitle:nil
message:nil
preferredStyle:UIAlertControllerStyleActionSheet];
// When style is set to UIAlertActionStyleDestructive, the button appears with red text
UIAlertAction* deleteAction = [UIAlertAction actionWithTitle:@"Delete"
style:UIAlertActionStyleDestructive
handler:^(UIAlertAction * action) {
// ========
// Perform your delete operation here...
// ========
}];
// This cancel action will appear separated from the rest of the items
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {}];
// Add the actions to the alert
[alert addAction:deleteAction];
[alert addAction:cancelAction];
// Present the sheet.
[self presentViewController:alert animated:YES completion:nil];
iOS の組み込みアプリケーション (連絡先、メッセージ、メールなど) は通常、これらのフィールドを使用しないことがわかっているため、通常、削除確認のタイトルとメッセージ フィールドを省略します。ボタンはそれ自体を物語っています。
その UI コンポーネントのドキュメントを参照してください: UIActionSheetおよびUIActionSheetDelegate