2012-11-16 40 views
8

मेरे दृश्य में गलत आयाम हैं। मैं केवल लैंडस्केप चला रहा हूं लेकिन दृश्य पोर्ट्रेट आयामों की रिपोर्ट कर रहा है "देखें चौड़ाई = 768.000000 ऊंचाई = 1024.000000" कोई विचार यह कैसे ठीक करें? मैं चारों ओर autorotate के साथ खेला जाता है मैंमेरा self.view में गलत आयाम हैं

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft|| interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 

और

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
} 

यह दृश्य पर ठीक लग रहा है की कोशिश की लेकिन आयाम वास्तव में मेरे अनुप्रयोग के साथ खिलवाड़ कर रहे हैं है।

+0

है कि कैसे आप दृश्य के आकार का हो रही है में देखता है से परिलक्षित होता है? – yuf

+0

self.view.frame.size.width। आदि .. – Jonathan

+0

और आप उस मूल्य को कब पढ़ रहे हैं? – yuf

उत्तर

13

आपको अपना खुद का आयाम बताने के लिए कभी भी frame का उपयोग नहीं करना चाहिए। frame मूल कंटेनर व्यू के सापेक्ष है। अपने दृश्य के समन्वय प्रणाली के संबंध में आयाम खोजने के लिए, bounds: self.view.bounds

उदाहरण के लिए, मूल दृश्य में बच्चे के दृश्य को चौड़ाई = 768 और ऊंचाई = 1024 होने पर देखा जा सकता है, लेकिन घुमावदार 90 डिग्री परिवर्तन के साथ। इस प्रकार अभिभावक दृश्य बच्चे के दृश्य को देखता है, और यह self.view.frame है। बच्चे को एक चौड़ाई = 1024 और ऊंचाई होने दृश्य = 768 कैसे एक दृश्य में ही अपनी ही समन्वय प्रणाली है, जो self.view.bounds

+0

मैंने सीमाओं का उपयोग करने की कोशिश की लेकिन मुझे अभी भी वही परिणाम मिलते हैं। मैं सोच रहा हूं कि दृश्य शायद यह नहीं जानता कि आईपैड परिदृश्य में है। मुझे नहीं पता। – Jonathan

+1

'स्पर्शों' में छपाई का प्रयास करें और देखें कि क्या आप एक ही मूल्य देखते हैं? –

+0

यही काम किया, यही सुपर अजीब तुम जानते हो क्यों अपने कर रही थी? जल्द से जल्द समय की – Jonathan

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

  • कोई संबंधित समस्या नहीं^_^