Di Aplikasi iPhone, saat menjalankan Aplikasi di perangkat Bagaimana cara mendeteksi resolusi layar perangkat tempat Aplikasi berjalan?
Di Aplikasi iPhone, saat menjalankan Aplikasi di perangkat Bagaimana cara mendeteksi resolusi layar perangkat tempat Aplikasi berjalan?
CGRect screenBounds = [[UIScreen mainScreen] bounds];
Itu akan memberi Anda resolusi seluruh layar dalam poin, sehingga biasanya 320x480 untuk iPhone. Meskipun iPhone4 memiliki ukuran layar yang jauh lebih besar, iOS masih memberikan 320x480, bukan 640x960. Ini sebagian besar karena melanggar aplikasi yang lebih lama.
CGFloat screenScale = [[UIScreen mainScreen] scale];
Ini akan memberi Anda skala layar. Untuk semua perangkat yang tidak memiliki Tampilan Retina ini akan mengembalikan 1.0f, sedangkan perangkat Retina Display akan memberikan 2.0f dan iPhone 6 Plus (Retina HD) akan memberikan 3.0f.
Sekarang jika Anda ingin mendapatkan lebar piksel & tinggi layar perangkat iOS Anda hanya perlu melakukan satu hal sederhana.
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
Dengan mengalikan dengan skala layar Anda mendapatkan resolusi piksel yang sebenarnya.
Bacaan yang bagus tentang perbedaan antara titik dan piksel di iOS dapat dibaca di sini .
EDIT: (Versi untuk Swift)
let screenBounds = UIScreen.main.bounds
let screenScale = UIScreen.main.scale
let screenSize = CGSize(width: screenBounds.size.width * screenScale, height: screenBounds.size.height * screenScale)
Kelas UIScreen memungkinkan Anda menemukan resolusi layar dalam Points and Pixels.
Resolusi layar diukur dalam Poin atau Piksel. Seharusnya tidak pernah bingung dengan ukuran layar. Ukuran layar yang lebih kecil dapat memiliki resolusi lebih tinggi.
'Bounds.width' UIScreen mengembalikan ukuran persegi panjang di Points
'NativeBounds.width' UIScreen mengembalikan ukuran persegi panjang dalam Pixel. Nilai ini dideteksi sebagai PPI (Point per inch). Menunjukkan ketajaman & kejelasan Gambar pada perangkat.
Anda dapat menggunakan kelas UIScreen untuk mendeteksi semua nilai ini.
Swift3
Menghibur
Swift 2.x
ObjectiveC
sumber
Gunakan di App Delegate: Saya menggunakan storyboard
sumber
Untuk iOS 8 kita bisa menggunakan ini
[UIScreen mainScreen].nativeBounds
, seperti itu:sumber
Lihat Referensi UIScreen: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScreen_Class/Reference/UIScreen.html
sumber
NSLog(@"%f",[[UIScreen mainScreen] scale]);
Gunakan kode ini untuk membantu mendapatkan resolusi layar perangkat apa pun
sumber