BarButtonItem上显示的UIAlertController未正确居中

时间:2016-07-06 10:24:07

标签: ios objective-c uitoolbar uialertcontroller

我使用以下代码在toolBarButtonItem上显示UIAlertController,

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

    [alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
    }]];     

    [alertController addAction:[UIAlertAction actionWithTitle:@"Delete Selected Accounts" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
        [Utility showAlertWithTitle:nil message:DELETE_ACCOUNT delegate:self tag:1 buttons:@[@"Cancel", @"Delete"]];
    }]];
    alertController.popoverPresentationController.barButtonItem = self.moreButtonItem;
    [self presentViewController:alertController animated:YES completion:nil];

使用此代码显示的alertController显示在右侧而不是居中。我希望alertController正好出现在toolBarButtonItem上的中心位置。

1 个答案:

答案 0 :(得分:1)

尝试添加以下代码

 alertController.popoverPresentationController.sourceView = senderView; //your view
 alertController.popoverPresentationController.sourceRect = senderView.bounds; //your view
 alertController.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny;

这解决了我的问题。