2015-05-16 19 views
10

Có cách nào để xác định Chế độ Xem (Trong cài đặt> Hiển thị & Độ sáng) theo lập trình không?Cách phát hiện iPhone 6 & 6 Xem Chế độ Xem theo Lập trình

Nhiều thiết kế ứng dụng hoạt động khác nhau ở Chế độ chuẩn và Chế độ thu phóng.

Vui lòng tham khảo hình ảnh:

enter image description here

Bất kỳ trợ giúp sẽ được đánh giá. :)

Trả lời

19

Bạn có thể sử dụng một trong hai [UIScreen mainScreen].nativeScale phù thủy sẽ mang đến cho bạn 2.6f nếu bình thường, và 2.8f nếu thu nhỏ trên iPhone 6 cộng, hoặc các macro được định nghĩa:

#define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) 
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
#define IS_IPHONE_5 (IS_IPHONE && ([[UIScreen mainScreen] bounds].size.height == 568.0) && ((IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) || !IS_OS_8_OR_LATER)) 
#define IS_STANDARD_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) 
#define IS_ZOOMED_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale > [UIScreen mainScreen].scale) 
#define IS_STANDARD_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0) 
#define IS_ZOOMED_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale < [UIScreen mainScreen].scale) 
0

Có, bạn có thể làm điều đó: -

[UIScreen mainScreen].currentMode 

để phát hiện Standard Mode và thu nhỏ Mode.

Để biết thông tin chi tiết hơn, bạn kiểm tra điều này link.

0

Tôi đang gặp phải vấn đề tương tự khi cài đặt Ứng dụng trong 2 loại thiết bị iPhone 6 (Chế độ tiêu chuẩn) và iPhone 6 (Chế độ thu phóng) nhưng sau này tôi cố gắng nắm bắt chiều cao và chiều rộng của iPhone khi khởi chạy.

trong phương thức ViewController.h của bạn trong phương thức viewDidLoad thử kiểm tra chiều cao và chiều rộng trong bảng điều khiển.

NSLog(@"width %f, height %f",self.view.frame.size.width,self.view.frame.size.height); 

Bằng cách kiểm tra điều này, bạn có thể nhận được sự khác biệt giữa chế độ Chuẩn và Thu phóng.

Từ số Vizllx câu trả lời u cũng có thể kiểm tra như bên dưới những gì tôi đã thử.

UIScreen *MainScreen = [UIScreen mainScreen]; 
UIScreenMode *ScreenMode = [MainScreen currentMode]; 
CGSize Size = [ScreenMode size]; 
NSLog(@"width %f, height %f",Size.width,Size.height); 

Cảm ơn.

Các vấn đề liên quan