2015-10-20 7 views
8

प्रदर्शित करता है मैं आईओएस विकास में नौसिखिया हूं। मैं कोडएक्ससीडीईई आईफोन 6 प्लस और 6 एस प्लस चेतावनी दिखाता है जब 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 चेतावनी नहीं दिखा, जब एक बटन क्लिक किया गया एक UIAlertController प्रदर्शित करने के लिए (स्टोरीबोर्ड, रिक्त है वहाँ स्टोरीबोर्ड में केवल 1 बटन है) कोशिश कर रहा था, तथापि iphone 6plus और 6s प्लस शो चेतावनी

2015-10-20 22: 38: 54.007 TestApp [3128: 48601] UICollectionViewFlowLayout के व्यवहार से परिभाषित नहीं है क्योंकि: 2015/10/20 22:38 : 54.008 टेस्ट ऐप [3128: 48601] आइटम की ऊंचाई की तुलना में कम होनी चाहिए UICollectionView minus अनुभाग अनुभाग शीर्ष पर और नीचे मान, सामग्री को कम से कम मानों को कम करता है। 2015/10/20 22: 38: 54.008 TestApp [3128: 48601] प्रासंगिक UICollectionViewFlowLayout उदाहरण < _UIAlertControllerCollectionViewFlowLayout है: 0x7fd6b8582d90>, और यह से जुड़ा हुआ है; परत =; सामग्री ऑफ़सेट: {0, 0}; सामग्री आकार: {0, 0}> संग्रह दृश्य लेआउट: < _UIAlertControllerCollectionViewFlowLayout: 0x7fd6b8582d90>।

यदि मैं UIAlertController पर टेक्स्ट फ़ील्ड को हटाता हूं या मैं 2 बटन हटाता हूं (टेक्स्ट फ़ील्ड प्रदर्शित करता हूं), तो यह चेतावनी नहीं दिखाता है। कोई स्पष्टीकरण ऐसा क्यों होता है? चेतावनी कैसे ठीक करें?

+0

यह बेवकूफ हो सकता है लेकिन दो क्रियाओं से पहले टेक्स्ट फ़ील्ड जोड़ने का प्रयास करें। – rmaddy

+1

@rmaddy यह अभी भी चेतावनी दिखाता है। वैसे भी मैंने अभी 2 टेक्स्ट फ़ील्ड जोड़ने की कोशिश की है और यह सभी प्लेटफॉर्म पर चेतावनियां नहीं दिखाता है, मैंने इसे 2 क्रियाओं ('डिफ़ॉल्ट' और 'रद्द करें') के बयान के पहले और बाद में जोड़ा है –

+2

ऐप्पल को एक बग सबमिट करें। एक साधारण परीक्षण ऐप शामिल करें जो इस मुद्दे को प्रदर्शित करता है। – rmaddy

उत्तर

18

कोशिश:

yourAlertController.view.setNeedsLayout() 

बस के साथ presentViewController:

संपादित यह प्रस्तुत करने से पहले: मैं एप्पल

+1

सेट करने के लिए संग्रह दृश्य नहीं ढूंढ सकते हैं यह चेतावनी से छुटकारा पाता है - हमें अभी भी सेब को बग सबमिट करना चाहिए क्योंकि इस लाइन की आवश्यकता नहीं है। – Sidetalker

+1

@Sidetalker ने किया था! –

+0

यह किया था! धन्यवाद :) – Sidetalker

0

को यह बग प्रस्तुत की है मैं भी केवल iphon6 के लिए अपनी स्क्रीन में एक ही मुद्दा था प्लस स्क्रीन। कृपया जांच करें, यदि आप खाली शीर्षक गुजर नहीं कर रहे हैं, तो शीर्षक खाली है, की तरह शून्य इसे पारित:

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

बजाय

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

यह मेरी समस्या तय की। शुभकामनाएं ..

संबंधित मुद्दे