18

एप्पल के प्रलेखन पर UIActionSheet का उपयोग करते हुए मुझे भ्रम पैदा कर रहा है। सबसे पहले, आईपैड ह्यूमन इंटरफ़ेस के दिशा निर्देशों में, यह कहते हैं:UIActionSheet के लिए आईपैड

अपने कोड में एक कार्रवाई शीट का उपयोग कर के बारे में अधिक जानने के लिए, आईपैड प्रोग्रामिंग गाइड में "सामग्री प्रदर्शित करने के लिए R आर का उपयोग करना"।

लेकिन फिर "प्रदर्शन सामग्री प्रदर्शित करने के लिए पॉपओवर का उपयोग" अनुभाग में, इसमें एक्शन शीट्स का उल्लेख नहीं है! क्या मुझसे कोई चूक हो रही है?

http://developer.apple.com/library/ios/#documentation/General/Conceptual/iPadHIG/UIElements/UIElements.html#//apple_ref/doc/uid/TP40009446-CH6-SW9

मेरा मुख्य सवाल यह है: iPad पर, एक UIPopoverController और एक UIActionSheet के बीच क्या अंतर है? यदि एक UIActionSheet स्वचालित रूप से UIPopoverController के अंदर स्वयं को प्रस्तुत करता है, तो क्या UIActionSheet का उपयोग करने का कोई कारण है? मैं देखता हूं कि बटन के इसके प्रतिनिधि और स्वचालित निर्माण कोड की कम लाइनों के लिए कैसे बनाते हैं, लेकिन उपयोगिता पीओवी से, क्या कोई अंतर है?

इसके अलावा, एनीमेशन के साथ मेरी actionSheet प्रदर्शित बिल्कुल काम नहीं कर रहा। यह एनीमेशन के बिना प्रस्तुत किए गए एक्शनशीट की तरह दिखता है और कार्य करता है (जो बिल्कुल ठीक है जैसे कि मैं केवल यूआईपीओपीओवर कंट्रोलर का उपयोग कर रहा था और कोई एक्शनशीट बिल्कुल नहीं था)। यहाँ मेरी कोड है:

UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"An unsaved property already exists. You must assign a name to this property before creating a new property. Would you like to:" 
    delegate:self 
    cancelButtonTitle:nil 
    destructiveButtonTitle:@"Overwrite" 
    otherButtonTitles:@"Open unsaved property", nil]; 

[action showFromRect:CGRectMake(0, 0, 200, 200) inView:self.mainSplitViewController.view animated:NO]; 

मैं एक actionSheet कि (नक्शे आवेदन है, जहां आप किसी संपर्क को एक स्थान जोड़ने से) एप्पल के दस्तावेज में नमूना एनिमेटेड actionSheet तरह लग रहा है कैसे प्राप्त होगा?

मैं सिर्फ यह बल्कि एक पॉपओवर या एक actionSheet से के लिए एक चेतावनी का उपयोग कर खत्म हो सकता है, लेकिन यह अभी भी इस को समझने के लिए उपयोगी होगा।

धन्यवाद!

उत्तर

22

सबसे पहले, UIActionSheetUIPopoverController और UIPopoverController से पहले मौजूद था, आईफोन पर उपलब्ध नहीं है, इसलिए यह पीछे की संगतता और सार्वभौमिक ऐप्स के लिए उपयोगी है।

इसके अलावा, एक UIActionSheet जरूरी, एक पॉपओवर में प्रस्तुत नहीं किया गया है विशेष रूप से, अगर आप इसे एक UIBarButtonItem या UIToolbar है कि पहले से ही एक पॉपओवर अंदर से दिखाते हैं। इसके बाद इसे आईफोन (दृश्य नियंत्रक के नीचे से स्लाइडिंग) के समान ही प्रस्तुत किया जाता है। एचआईजी के अनुसार, आप एक ही समय में एक से अधिक R आर पेश नहीं करना चाहिए, (मैं एक बार एक ऐप्लिकेशन है जो के लिए अस्वीकार कर दिया था) तो ऐसे मामलों में जहां एक दृश्य नियंत्रक एक पॉपओवर अंदर (जैसे एक मानक विभाजित दृश्य अनुप्रयोग में) हो सकता है, आप कर सकते हैं यदि संभव हो तो एक्शन शीट का उपयोग करना चाहते हैं। बेशक, क्योंकि एक कार्रवाई शीट केवल जबकि एक पॉपओवर किसी भी दृश्य नियंत्रक प्रदर्शित कर सकते हैं, बटन और एक शीर्षक की एक सूची से पता चलता मामलों में जहां आप एक कार्रवाई शीट के साथ एक पॉपओवर को बदल नहीं सकते की एक बहुत कुछ कर रहे हैं।

मुझे लगता है कि animated पैरामीटर केवल जब एक कार्रवाई शीट "क्लासिक" (iPhone पर) तरीके से प्रस्तुत किया है एक प्रभाव पड़ता है।

+2

+1 आपके उत्तर के लिए। बहुत उपयोगी! आपने कहा कि * निश्चित रूप से ऐसे कई मामले हैं जहां आप एक एक्शन शीट के साथ पॉपओवर को प्रतिस्थापित नहीं कर सकते हैं, क्योंकि एक एक्शन शीट केवल बटन और शीर्षक की एक सूची दिखाती है, जबकि एक पॉपओवर कोई भी व्यू कंट्रोलर प्रदर्शित कर सकता है। *। तो, एक तिथि पिकर पेश करना संभव नहीं है, क्या मैं गलत हूं? धन्यवाद। –