2015-04-12 10 views
39

UIAlertController में बदल दिया है:आईओएस UIAlertController बोल्ड बटन सेट शैलियों के साथ दो बटन के साथ 8.3

UIAlertActionStyle.Cancel 
UIAlertActionStyle.Default 

आईओएस 8.2 में, रद्द करें बटन गैर बोल्ड है और डिफ़ॉल्ट बोल्ड है। iOS 8.3 में वे दौर

स्विच कर लिया है आप इसे देख सकते हैं एप्पल के स्वयं के ऐप्स जैसे, सेटिंग> मेल> खाता जोड़ें> iCloud> अमान्य डेटा दर्ज करते हैं, तो यह इस तरह 8.3 पर पता चलता है:

असमर्थित एप्पल आईडी

अधिक जानें (बोल्ड) ठीक (गैर बोल्ड)

जबकि यह 8.2 के लिए इसका उल्टा था।

इसे फिर से 8.2 की तरह बनाने के लिए कोई कामकाज। यह क्यों बदल गया है?

उत्तर

58

आईओएस 9 से आप preferredAction वैल्यू को उस क्रिया में सेट कर सकते हैं, जिसे आप बटन शीर्षक बोल्ड करना चाहते हैं।

let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) 
    let OKAction = UIAlertAction(title: "OK", style: .Default, handler: nil) 
    alert.addAction(cancelAction) 
    alert.addAction(OKAction) 
    alert.preferredAction = OKAction 
    presentViewController(alert, animated: true) {} 

दाईं ओर स्थित ठीक बटन बोल्ड फ़ॉन्ट में होगा।

+0

ध्यान दें कि यह केवल 'UIAlertControllerStyle.Alert' (क्रिया शीट नहीं) के साथ काम करता है। – Robert

1

मैं सिर्फ आईओएस 8.2 में जाँच: एक पहले जोड़ा बटन है गैर बोल्ड और एक दूसरा जोड़ा बटन बोल्ड है। इस कोड के साथ एक रद्द बटन बोल्ड हो जाएगा:

[alertController addAction:[UIAlertAction actionWithTitle:@"Ok" 
                style:UIAlertActionStyleDefault 
                handler:nil]]; 
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" 
                style:UIAlertActionStyleCancel 
                handler:nil]]; 

और इस कोड के साथ एक डिफ़ॉल्ट बटन बोल्ड हो जाएगा:

[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" 
                style:UIAlertActionStyleCancel 
                handler:nil]]; 
[alertController addAction:[UIAlertAction actionWithTitle:@"Ok" 
                style:UIAlertActionStyleDefault 
                handler:nil]]; 

मैं अब iOS 8.3 में जांच नहीं कर सकता, लेकिन इस व्यवहार हो सकता है एक कारण।

+1

विचार के लिए धन्यवाद। मैंने कोशिश की लेकिन यह 8.3 में कोई फर्क नहीं पड़ता। मुझे लगता है कि यह एक ऐप्पल बग होना चाहिए क्योंकि यह उनके अलर्ट में गलत दिखता है। जैसे पुश अधिसूचना चेतावनी अब ** ** (बोल्ड) ठीक (गैर बोल्ड) की अनुमति न दें जो निश्चित रूप से कोई भी नहीं चाहता ... – Bbx

+0

यह सिस्टम अलर्ट के लिए एक बग होना चाहिए, लेकिन आप अपने बटन जोड़ सकते हैं (क्रियाएं) आईओएस 8.2 (8.3?) के लिए सही अनुक्रम में या कार्रवाई के लिए एक सही शैली निर्धारित करें यदि कार्रवाई की शैली एक बोल्ड शैली का कारण है। –

+0

मैंने 8.4 पर कोशिश की, उसी तरह @ बीबीएक्स के साथ आदेश में कोई फर्क नहीं पड़ता .. – Bruce

11

यह एसडीके में एक जानबूझकर परिवर्तन है। मैं सिर्फ इस मुद्दे पर this radar को एप्पल से एक प्रतिक्रिया मिली है, यह बताते हुए कि:

यह एक जानबूझकर परिवर्तन है - रद्द बटन अलर्ट में बोल्ड किए गए है।

दुर्भाग्यवश, मुझे इसका उल्लेख करते हुए विभिन्न परिवर्तन लॉग में कुछ भी नहीं मिला।

तो, हमें कुछ चीजों को समझने के लिए स्थानों पर हमारे ऐप्स में परिवर्तन करने की आवश्यकता होगी।

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