2014-11-21 20 views
5

Giả sử iPhone 6 Plus hiển thị ở chế độ chuẩn (Cài đặt> Hiển thị> Xem> Chuẩn), UIInputViewControllerinputView của tiện ích mở rộng bàn phím trả về độ rộng khác nhau tùy thuộc vào ứng dụng máy chủ được tối ưu hóa cho màn hình iPhone 6/iPhone 6 Plus.Cách phát hiện ứng dụng máy chủ ở chế độ Thu phóng hoặc Chế độ thông thường trong iPhone 6 Plus?

Ví dụ, ứng dụng Ghi chú tích hợp trả về chiều rộng là 414 điểm (không được phóng to), trong đó ứng dụng LINE (v4.7.2) trả về 320 điểm (được thu phóng).

Cách tiện ích mở rộng bàn phím xác định chiều rộng của cửa sổ ứng dụng máy chủ (ví dụ: viewDidLoad, trước viewDidiLoad)?

Trả lời

0

Bạn có thể sử dụng 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) 

Hoặc [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

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