Bagaimana seseorang bisa mendapatkan dimensi layar di iOS?
Masalah dengan kode yang Anda poskan adalah bahwa Anda mengandalkan ukuran tampilan untuk mencocokkan dengan layar, dan seperti yang Anda lihat tidak selalu demikian. Jika Anda membutuhkan ukuran layar, Anda harus melihat objek yang mewakili layar itu sendiri, seperti ini:
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
Pembaruan untuk tampilan split: Dalam komentar, Dmitry bertanya:
Bagaimana saya bisa mendapatkan ukuran layar dalam tampilan split?
Kode yang diberikan di atas melaporkan ukuran layar, bahkan dalam mode layar terbagi. Saat Anda menggunakan mode layar terbagi, jendela aplikasi Anda berubah. Jika kode di atas tidak memberi Anda informasi yang Anda harapkan, maka seperti OP, Anda melihat objek yang salah. Namun, dalam hal ini, Anda harus melihat jendela alih-alih layar, seperti ini:
CGRect windowRect = self.view.window.frame;
CGFloat windowWidth = windowRect.size.width;
CGFloat windowHeight = windowRect.size.height;
Cepat 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