2011-08-03 25 views
6

के लिए मुझे यह पूछना है।"यूआईस्क्रीन मुख्यस्क्रीन] एप्लिकेशन फ्रेम]" लैंडस्केप मोड

[[UIScreen mainScreen] applicationFrame] 

पोर्ट्रेट मोड में आईफोन या आईपैड के कामकाजी क्षेत्र को पाने का एक शानदार तरीका है। लेकिन, अगर मैं परिदृश्य में एक ही आकार मिल चाहते हैं, वहाँ अन्य कोड रहे हैं, या मैं बनाना पड़ेगा:

CGRect landscape = CGRectMake(0, 20, 1024, 748) 

यह भी iPhone और iPad के लिए सामान्य नहीं है।

+1

उपयोग कर सकते हैं मुझे आश्चर्य है कि अगर यह अनुमान है कि applicationFrame चयनकर्ता हमेशा पोर्ट्रेट मोड में क्षेत्र वापस आ जाएगी सुरक्षित है। (और मानों को मैन्युअल रूप से स्विच करने के लिए।) – Rich

+0

क्या आपने इसे सफलतापूर्वक हल किया? चौड़ाई और ऊंचाई मानों को स्थानांतरित करना अवांछनीय है। – user216661

उत्तर

2

आप [[[UIApplication sharedApplication] keyWindow] frame]

+0

जब मैं इसे अपने व्यू कंट्रोलर के लोड व्यू चयनकर्ता के दौरान कॉल करता हूं, तो मुझे मूल और आकार दोनों के साथ एक सीजीआरईटी मिलता है (0, 0)। – Rich

+0

मुझे सच में यकीन नहीं है लेकिन यह मेरे लिए काम करता है: 'loadView] [रेखा: 788] [[[यूआईएप्लिकेशंस साझा अनुप्रयोग] कुंजीविंडो] फ्रेम]: {{0, 0}, {768, 1024}} '। क्या आप पहले '[सुपर लोड व्यू]' को कॉल करने का प्रयास कर सकते हैं? अगर यह काम नहीं करता है तो मैं सुझाव देता हूं कि किसी अन्य विधि का उपयोग करने का प्रयास करें। 'आकार टोफिट' शायद? – Angelo