我正在尝试使用UIAlertController。我需要一个带有两个按钮的弹出框 - “取消”和“删除并退出”。但我只能看到“删除并退出”按钮而不是取消按钮。这是代码: -
NSString *confirmText = "Hi";
UIAlertController *alert = [UIAlertController alertControllerWithTitle:confirmText message:@"" preferredStyle:UIAlertControllerStyleActionSheet];
// Created a deleted action
UIAlertAction *destroyAction = [UIAlertAction actionWithTitle:@"Delete and Sign Out"
style:UIAlertActionStyleDestructive
handler:^(UIAlertAction *action) {
NSLog(@"Delete Action Pressed");
[self signout];
}];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:nil];
[alert.view setTintColor:[UIColor grayColor]];
[alert addAction:cancelAction];
[alert addAction:destroyAction];
[alert setModalPresentationStyle:UIModalPresentationPopover];
UIPopoverPresentationController *popPresenter = [alert popoverPresentationController];
// Set the sourceView.
popPresenter.sourceView = logoutButton;
popPresenter.sourceRect = logoutButton.bounds;
[self presentViewController:alert animated:YES completion:nil];
不幸的是,我无法发布图片,所以如果您需要更多说明,请告诉我。
答案 0 :(得分:17)
在iOS8上,仅在需要时显示取消按钮。如果您在iPhone上运行应用程序,则可见。如果您在iPad上运行应用程序,则不会显示“取消”按钮,并且当用户点击弹出窗口外时,将调用取消操作的处理程序(样式:UIAlertActionStyleCancel)。