หนึ่งจะได้ขนาดของหน้าจอใน iOS ได้อย่างไร
ปัญหาของรหัสที่คุณโพสต์คือคุณต้องพึ่งพาขนาดมุมมองเพื่อให้ตรงกับของหน้าจอ หากคุณต้องการขนาดหน้าจอคุณควรดูวัตถุที่แสดงถึงหน้าจอเช่นนี้:
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
อัปเดตสำหรับมุมมองแยก:ในความคิดเห็น Dmitry ถาม:
ฉันจะทำให้ขนาดของหน้าจอเป็นมุมมองแบบแยกได้อย่างไร
รหัสที่ระบุด้านบนรายงานขนาดของหน้าจอแม้ในโหมดแยกหน้าจอ เมื่อคุณใช้โหมดแบ่งหน้าจอหน้าต่างแอพของคุณจะเปลี่ยนไป หากรหัสด้านบนไม่ให้ข้อมูลที่คุณคาดหวังเช่นเดียวกับ OP คุณจะเห็นวัตถุที่ผิด ในกรณีนี้คุณควรดูที่หน้าต่างแทนที่จะเป็นหน้าจอดังนี้:
CGRect windowRect = self.view.window.frame;
CGFloat windowWidth = windowRect.size.width;
CGFloat windowHeight = windowRect.size.height;
สวิฟท์ 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