そこらへんの大学生のブログ

iOS開発やったり、海外に住んだり、大学生やったりしてます。

iPadでのUIAlertControllerの表示!!

iPadでUIAlertControllerのactionsheetを表示しようとするとエラーが起こる…


先日、記念申請のような感じでアプリ申請してみたので今までほぼ気にもかけていなかったiPadでのテストをする必要がありました。
iPadでテストしてみると秒でクラッシュしました笑


どうやら、UIAlertController actionsheetはiPad用の設定を付け加えなければエラーが起こるようです。
その設定が以下です!

alert.popoverPresentationController?.sourceView = self.view
alert.popoverPresentationController?.sourceRect = CGRect(x: screenSize.size.width/2, y: screenSize.size.height, width: 0, height: 0)


このコードを追加すると、iPadの場合は指定した位置にpopoverとして表示されます。
また、個人的にpopoverの吹き出しの矢印を表示したくなかったので

alert.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0)


こうすることで吹き出しなしのpop overとして表示できました!!