İOS'ta ekranın boyutları nasıl elde edilebilir?
Gönderdiğiniz kodla ilgili sorun, ekranın boyutuna uyması için görünüm boyutuna güvenmenizdir ve gördüğünüz gibi durum her zaman böyle değildir. Ekran boyutuna ihtiyacınız varsa, ekranın kendisini temsil eden nesneye şöyle bakmalısınız:
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
Bölünmüş görünüm için güncelleme: Yorumlarda Dmitry sordu:
Bölünmüş görünümde ekranın boyutunu nasıl alabilirim?
Yukarıda verilen kod, bölünmüş ekran modunda bile ekranın boyutunu bildirir. Bölünmüş ekran modunu kullandığınızda, uygulamanızın penceresi değişir. Yukarıdaki kod size beklediğiniz bilgileri vermezse, OP gibi, yanlış nesneye bakıyorsunuz demektir. Bu durumda, ekran yerine pencereye şöyle bakmalısınız:
CGRect windowRect = self.view.window.frame;
CGFloat windowWidth = windowRect.size.width;
CGFloat windowHeight = windowRect.size.height;
Hızlı 4.2
let screenRect = UIScreen.main.bounds
let screenWidth = screenRect.size.width
let screenHeight = screenRect.size.height
// split screen
let windowRect = self.view.window?.frame
let windowWidth = windowRect?.size.width
let windowHeight = windowRect?.size.height