2015-10-20 148 views
8

我是iOS開發的新手。我試圖顯示UIAlertController一個按鈕被按下時(其實,故事情節是空的,這裏只有1按鈕,在故事板),使用下面的代碼XCODE iphone 6 plus和6s plus在顯示時顯示警告UIAlertViewController

@IBAction func showAlert(sender: UIBarButtonItem) { 
    let alert = UIAlertController(
    title: "Create new", 
    message: "Hi", 
    preferredStyle: UIAlertControllerStyle.Alert 
) 

    let createAction = UIAlertAction(title: "Ok", style: .Default, handler: nil) 
    let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) 

    alert.addAction(createAction) 
    alert.addAction(cancelAction) 
    alert.addTextFieldWithConfigurationHandler { 
    $0.placeholder = "Test placeholder" 
    } 

    presentViewController(alert, animated: true, completion: nil) 
} 

iphone 5,5S,6,6S不顯示警告,然而iphone 6plus和6S加顯示警告

2015年10月20日22:38:54.007 TestApp [3128:48601]的 UICollectionViewFlowLayout的行爲不是限定,因爲: 2015年10月20日22時38分:54.008 TestApp [3128:48601]物品高度必須小於UICollectionView的 高度減去區段頂端頂部和底部 值,減去內容的頂部和底部值。二○一五年十月二十〇日 22:38:54.008 TestApp [3128:48601]相關 UICollectionViewFlowLayout實例是 < _UIAlertControllerCollectionViewFlowLayout:0x7fd6b8582d90>和它 附接到; layer =; contentOffset:{0, 0}; contentSize:{0,0}>集合視圖佈局: < _UIAlertControllerCollectionViewFlowLayout:0x7fd6b8582d90>。

如果我刪除UIAlertController上的文本字段或刪除2個按鈕(保持文本字段顯示),它不顯示警告。任何解釋爲何發生這種情況如何解決警告?

+0

這可能是愚蠢的,但嘗試在兩個動作之前添加文本字段。 – rmaddy

+1

@rmaddy它仍然顯示警告。無論如何,我只是嘗試添加2個文本字段,並且它沒有在所有平臺上顯示警告,我在添加2個操作('Default'和'Cancel')之前和之後添加了它。 –

+2

向Apple提交錯誤。包括一個簡單的測試應用程序,演示該問題。 – rmaddy

回答

18

嘗試:

yourAlertController.view.setNeedsLayout() 

只是presentViewController:

編輯呈現前:我已提交了此漏洞給蘋果

+1

這擺脫了警告 - 我們仍然應該提交bug到蘋果,因爲這條線不應該需要。 – Sidetalker

+1

@Sidetalker做到了! –

+0

它做到了!謝謝:) – Sidetalker

0

我也有我的屏幕相同的問題只有iphon6加屏幕。請檢查,如果你不及格的空銜,如果標題是空的,它傳遞零,如:中

UIAlertController *confirmAlert = [UIAlertController alertControllerWithTitle:nil message:displayMessage preferredStyle:UIAlertControllerStyleAlert]; 

代替

UIAlertController *confirmAlert = [UIAlertController alertControllerWithTitle:@"" message:displayMessage preferredStyle:UIAlertControllerStyleAlert]; 

它固定我的問題。祝你好運..

相關問題