[英]iOS – Presenting MFMessageComposeViewController after receiving a UILocalNotification
[英]MFMailComposeViewController and MFMessageComposeViewController have wrong bounds after rotation in iOS 8
我的應用程序大多只使用人像模式。 但是,當顯示MFMailComposeViewController
和MFMessageComposeViewController
它可以旋轉到橫向。 在iOS 8仍然可以旋轉之前,這種方法一直很好,但是它們的邊界似乎遵循錯誤的方向。
我的應用程序處於縱向模式,並顯示了其中一個控制器。 將手機旋轉到橫向時,會得到以下結果:
MFMailComposeViewController
:
MFMessageComposeViewController
:
編輯:這是介紹作曲家的代碼:
MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
mailComposeViewController.mailComposeDelegate = self;
[mailComposeViewController setSubject:subject];
[mailComposeViewController setMessageBody:body isHTML:NO];
[self presentViewController:mailComposeViewController animated:YES completion:^{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
}];
編輯:如果我檢查視圖調試器中的視圖,我可以看到,盡管UIWindow
已旋轉為橫向顯示,但沒有底層視圖具有。 這包括UITransitionView
和UILayoutContainerView
。
這不是解決方案,而是分享我的經驗。 我還構建了僅遵循縱向方向的應用程序。 但是,當我嘗試以任何設備方向打開MFMailComposeViewController
和MFMessageComposeViewController
時,它僅以縱向顯示。
我只有在看到您的問題時才檢查此內容。 我以與您相同的方式介紹它們。 我正在共享我已使用的目標設置和.plist條目。 請查看其中是否有幫助。
iOS8存在一些與輪換無法正常運行有關的問題。 值得先檢查一下。 它是在應用程序委托中的簡單一行編輯。
現在將在iOS 8中棄用諸如willRotateToInterfaceOrientation:duration:
和didRotateToInterfaceOrientation:
類的方法,並將其替換為viewWillTransitionToSize:withTransitionCoordinator:
根據您處理應用程序輪換的方式,您可能必須對代碼進行更改以適應新方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.