2014-09-02 19 views
10

पर स्क्रीन आकार प्राप्त करें मैंने Xcode 6 सिम्युलेटर पर एक आकार बदलने योग्य आईफोन का स्क्रीन आकार प्राप्त करने के लिए [[UIScreen mainScreen] bounds] की कोशिश की। लेकिन यह नई स्क्रीन चौड़ाई और स्क्रीन ऊंचाई को ध्यान में रखता है जिसे मैं सौंपता हूं।आईओएस 8

क्या स्क्रीन का आकार पाने का कोई बेहतर तरीका है? यहां तक ​​कि अगर मैं 320x800 करने के लिए स्क्रीन आकार निर्धारित [[UIScreen mainScreen] bounds] मुझे रिटर्न (CGRect) $0 = origin=(x=0, y=0) size=(width=768, height=1024)

enter image description here

+1

एक दृश्य नियंत्रक में है:

var screenWidth: CGFloat { if UIInterfaceOrientationIsPortrait(screenOrientation) { return UIScreen.mainScreen().bounds.size.width } else { return UIScreen.mainScreen().bounds.size.height } } var screenHeight: CGFloat { if UIInterfaceOrientationIsPortrait(screenOrientation) { return UIScreen.mainScreen().bounds.size.height } else { return UIScreen.mainScreen().bounds.size.width } } var screenOrientation: UIInterfaceOrientation { return UIApplication.sharedApplication().statusBarOrientation } 

इन में एक मानक समारोह के रूप में शामिल किए गए हैं आपने self.view.bounds की कोशिश की? – WMios

उत्तर

16

निम्न कार्य करें

CGRect रेक्ट = [[UIScreen mainScreen] सीमा];

तो यह आयत में सीमाओं को संरक्षित रखेगा। एक बार कोशिश करें।

+1

आपको इसके लिए काम करने के लिए * को हटाने की जरूरत है। यह अन्यथा एक त्रुटि फेंकता है। –

+0

यह आईफोन पर आईओएस 8.4.1 का उपयोग कर काम नहीं कर रहा है 5. आईफोन 4/4 एस के स्क्रीन आकार का पता लगा रहा है – user2924482

2

स्विफ्ट 4.0 में, 3,0

let screenRect:CGRect = UIScreen.main.bounds