带有UIAlertControllerStyleActionSheet的UIAlertController在iPad上太小了

时间:2017-03-16 15:32:00

标签: ios objective-c uialertcontroller

我想从已弃用的UIActionSheet转换为带有UIAlertControllerStyleActionSheet的UIAlertController。

我的更新代码在iPhone上工作得很好,看起来很像旧的UIActionSheet版本,但在iPad上产生的弹出窗口只有两行高:一个用于标题,一个用于所有选项。有没有办法让它同时显示所有选项?

以下是非工作的UIAlertController版本。

UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:[Loc text: @"_title_view_menu"] message:nil preferredStyle:UIAlertControllerStyleActionSheet];

[actionSheet addAction:[UIAlertAction actionWithTitle:[Loc text: @"_action_dataset_items"]
          style:UIAlertActionStyleDefault
          handler: ^(UIAlertAction *action) {
              [self buttonPressed: mainMenuDatasetItems];
          }]];

[actionSheet addAction:[UIAlertAction actionWithTitle:[Loc text: @"_action_my_items"]
          style:UIAlertActionStyleDefault
          handler: ^(UIAlertAction *action) {
              [self buttonPressed: mainMenuMyItems];
          }]];        
[actionSheet addAction:[UIAlertAction actionWithTitle:[Loc text: @"_action_cancel"]
          style:UIAlertActionStyleCancel
          handler: ^(UIAlertAction *action) {

            }]];


actionSheet.popoverPresentationController.sourceView = viewController.view;
actionSheet.popoverPresentationController.sourceRect = viewController.view.frame;
[viewController presentViewController:actionSheet animated:YES completion:nil];

0 个答案:

没有答案