2012-09-20 16 views
13

अब जब कि एप्पल के बारे में शिपिंग iPhone 5 के, मैं अपने आवेदन पत्र का विस्तार में देख रहा हूँ शुरू करने के लिए तो वे iPhone 5 पर पूर्ण स्क्रीन दिखाई देते हैं। मैंने सिम्युलेटर पर अपने ऐप्स चलाए, और यहां तक ​​कि UITableView वाले स्क्रीन के निचले भाग तक विस्तारित, काले सलाखों स्क्रीन के ऊपर और नीचे दिखाई देते हैं।iPhone 5 के लिए एप्लिकेशन का विस्तार - सबसे अच्छा अभ्यास

यहां मेरा प्रश्न है: आईफोन 5 के लिए ऐप्स को विस्तारित करने का सबसे अच्छा अभ्यास क्या है?

मैं 3.5 और इंच की स्क्रीन के लिए अब एक अलग निब बनाने, या कोड में सब कुछ का विस्तार करना चाहिए?

मैं इसे जितना संभव हो सके संक्रमण को आसान बनाने की कोशिश कर रहा हूं, इसलिए मैं एसओ के ज्ञान के लिए अपील करता हूं कि दोनों स्क्रीनों के लिए सबसे अच्छा तरीका क्या है।

उत्तर

13

अपने ऐप्स में पूर्ण 4 "स्क्रीन का लाभ उठाते हुए आकार 640 के साथ [email protected] नामक एक नया डिफ़ॉल्ट छवि को जोड़ने के रूप में सरल हो रहा है एक्स 1136. Xcode 4.5 होगा वास्तव में स्वचालित रूप से एक काले रंग की छवि को जोड़ने के द्वारा आप के लिए यह करने के लिए की पेशकश आपके प्रोजेक्ट के उचित आकार और नाम का।

मानक यूआई घटकों का उपयोग करने वाले ऐप्स के लिए, जैसे टेबल दृश्य, टेबल को स्क्रीन भरने के लिए जादुई रूप से विस्तारित किया जाता है। मैंने काम के लिए एक ऐप अपडेट किया और यह सचमुच यह सरल था, मेरे अपने कोड और यूआई सेटअप से संबंधित कुछ मामूली मुद्दों के साथ। लेकिन सभी में, बहुत आसान।

इसे किसी अन्य ऐप के साथ तुलना करें जो मैं काम करता हूं (स्वयं के लिए), जो किसी भी का उपयोग नहीं करता है UIViews को छोड़कर ई मानक यूआई घटक। 3.5 "और 4" स्क्रीनों से निपटने के लिए, मुझे काफी समय व्यतीत करना पड़ा है जो ऐप के विभिन्न संचालन के लिए स्क्रीन आकार जानने की जरूरत है। (इस मामले में ऐप एक उत्पादकता ऐप से अधिक है, एक उत्पादकता ऐप।)

तो, आपका माइलेज 412 स्क्रीन का समर्थन करने के लिए वास्तव में के स्तर के संबंध में भिन्न हो सकता है। जैसा कि मैंने पाया है, इस पर निर्भर करेगा कि आपका ऐप कितना जटिल और "गैर-मानक" है।

+0

मेरे ऐप मैं अपने इंटरफेस के लिए एक निब लोड हो रहा हूँ, जड़ दृश्य के रूप में एक टैब पट्टी का उपयोग कर, और स्वत: आकार देने वाला सामान बस पर सही काम नहीं कर रहा है के iPhone संस्करण में अपनी 4 "स्क्रीन पर अनुकूलित करने के लिए स्वयं। यूआईटीएबीबार नियंत्रक के अंदर एक यूआईटीबलव्यू को उसी ऊर्ध्वाधर स्थिति में पिन करने के लिए कैसे प्राप्त किया जा सकता है, और लंबवत आकार में बिल्कुल सही राशि (88pt या 176px) से बढ़ सकता है? मेरा अनुवर्ती सर्वोत्तम अभ्यास प्रश्न क्या होगा, क्या इन सबव्यूड्स को कोड में समायोजित करना बेहतर है, या एनआईबी में ऑटो-साइजिंग के माध्यम से विश्वसनीय रूप से काम करने के लिए कोई तरीका है? –

+0

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

+0

विशेष रूप से, मुझे शीर्ष से 35pt हमेशा रहने के लिए एक उप-दृश्य (एक UITableView) की आवश्यकता होती है, और इसकी ऊंचाई को फैलाया जाना चाहिए ताकि उसका निचला भाग नीचे टैब से 108pt हो, फिर दूसरा उप-दृश्य (108pt लंबा) पिन किया जाएगा टैब के ठीक ऊपर। टैब बार उप-विचारों के प्रारंभिक बिंदु के रूप में क्या आयाम होना चाहिए? फर्क पड़ता है क्या? मैं उम्मीद करता हूं कि रूट दृश्य के नीचे पिन किए गए उप-दृश्य को टैब के ऊपर पिन किया गया है, और यह औपचारिक व्यवहार प्रतीत होता है क्योंकि अब मैं इसके साथ गड़बड़ करता हूं। आई-बीम मूल दूरी को संरक्षित करता प्रतीत होता है। आह, यह सब अब जगह में गिर रहा है ... –

6

बड़े-स्क्रीन आईफोन 5 के लिए मौजूदा ऐप को अपडेट करते समय, आप यह भी पा सकते हैं कि स्क्रीन के नीचे " क्लिक करने योग्य "। उदाहरण के लिए, यदि आपके पास स्क्रीन के नीचे एक टूलबार है, तो टूलबार सही तरीके से प्रदर्शित होगा, लेकिन बटन स्पर्श पर प्रतिक्रिया नहीं देंगे। अगर ऐसा है, तो आपको ऐप को बताना होगा कि खिड़की है पूर्ण स्क्रीन का उपयोग कर

यदि आपके पास MainWindow.xib है, तो इसे खोलें, window का चयन करें और विशेषताओं में निरीक्षक सुनिश्चित करें कि "लॉन्च पर पूर्ण स्क्रीन" की जांच की गई है।

- (void)applicationDidFinishLaunching:(UIApplication *)application { 

    [window setFrame:[[UIScreen mainScreen] bounds]]; 
    ... 
} 

मैं इसे रख:

आप अपने प्रोजेक्ट में MainWindow.xib की जरूरत नहीं है, तो आप अपने अनुप्रयोग प्रतिनिधि के applicationDidFinishLaunching में एक अतिरिक्त लाइन जोड़ने की जरूरत है (और सबसे नए परियोजनाओं नहीं है) विधि की शुरुआत में। एक जादू की तरह काम किया।

+0

मेरे जीएल 11 गेम में मुझे स्क्रीन को भरने के लिए खिड़की से पहले "लॉन्च स्क्रीन लॉन्च" विशेषता सेट करना पड़ा था (इस ऑटो-रीसाइज सेटिंग्स के बिना कोई फर्क नहीं पड़ता)। मैं ऐप्पल से GLES2 नमूना प्रोजेक्ट से, MainWindow.xib का भी उपयोग करता हूं। – arberg

3

आप सिम्युलेटर के साथ इस मार्ग मिलेगा XCode-> Targets-> Summary-> iPhone/iPod तैनाती जानकारी (रेटिना 4 इंच)

आप आकार के साथ एक डिफ़ॉल्ट छवि जोड़ने की जरूरत है 640 x 1136 ।

अपने AppDelegate फ़ाइल

mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 

mainWindow.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 

आप अपने विंडो के मुख्य स्क्रीन आकार मिल जाएगा में इस कोड को लागू करें। एक और बात जब भी आप अपने वर्ग फ़ाइल में जाँच करना चाहते हैं तो बस अपने दृश्य नियंत्रक के लिए इस कोड को

if ([UIScreen mainScreen].bounds.size.height > 500.0f) 

जोड़ने सिर्फ एक संपत्ति autoresizingMask

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 

यह मेरे लिए ठीक काम करता है जोड़ें।

0

मैं आईफोन 5 (4 ") को पूर्ण स्क्रीन पर प्रस्तुत करने के लिए आईफोन 5 (4") प्राप्त करने की कोशिश कर रहा हूं, और मुझे यह जवाब मिला, जो कहता है कि आपको केवल आईओएस को बताने के लिए [email protected] छवि जोड़ने की आवश्यकता है कि इसे 4 "पूर्णस्क्रीन में अपना ऐप प्रस्तुत करने की आवश्यकता है। बस यह मेरे लिए समस्या तय कर रहा है।

Why [UIScreen mainScreen].bounds] is not returning full screen size?

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