iOS 8

2014-09-02 7 views
10

üzerinde ekran boyutu alın ben Xcode 6 simülatörde yeniden boyutlandırılabilir bir iPhone ekran boyutunu almak için [[UIScreen mainScreen] bounds] çalıştı. Fakat yeni ekran genişliğini ve ona atadığım ekran yüksekliğini dikkate almıyor.iOS 8

ekran boyutunu almak için daha iyi bir yolu var mı? Ben 320x800 ekran boyutunu ayarlamak bile [[UIScreen mainScreen] bounds](CGRect) $0 = origin=(x=0, y=0) size=(width=768, height=1024)

enter image description here

+1

var:

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 } 

Bunlar standart fonksiyon olarak dahil edilmiştir self.view.bounds'u denediniz mi? – WMios

cevap

16

beni döndüren aşağıdakileri yapın

CGRect Rect'iniz = [[UIScreen mainScreen] sınırları];

yüzden rect'in içinde sınırları koruyan edecektir. bir kez deneyin.

+1

Çalışması için bunun için * kaldırmanız gerekir. Aksi halde bir hata atıyor. –

+0

Bu, iPhone 8 üzerindeki iOS 8.4.1 kullanılarak çalışmıyor. IPhone 4/4S'nin ekran boyutu algılıyor – user2924482

2

, 3,0

let screenRect:CGRect = UIScreen.main.bounds