代码之家  ›  专栏  ›  技术社区  ›  Nikhil

BarButtonItem上显示的UIAlertController未正确居中

  •  3
  • Nikhil  · 技术社区  · 9 年前

    我使用以下代码在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 回复  |  直到 9 年前
        1
  •  1
  •   Pranav    9 年前

    尝试添加以下代码

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

    这解决了我的问题。