Ứng dụng của tôi sử dụng UIVisualEffectView
để làm mờ nền giống như Trung tâm điều khiển. Nhưng tôi phát hiện ra iPad 2 (và iPad Retina) có thể chạy iOS 8 không đủ mạnh để hiển thị hiệu ứng đó để nó trở lại màu xám. Tôi muốn có thể phát hiện xem thiết bị đang chạy có đủ mạnh để hiển thị hiệu ứng mờ hay không và nếu không tôi sẽ không áp dụng hiệu ứng đó, thay vào đó tôi sẽ thay đổi màu nền thành một thứ trông đẹp hơn nhiều màu xám đó. Nhưng tôi không muốn chỉ kiểm tra xem thiết bị có phải là iPad 2 hay iPad thế hệ thứ 3 (nó có ảnh hưởng đến thứ 4 không?). Có cách nào tốt hơn để phát hiện xem UIBlurEffect
có xuất hiện như mong đợi không?Phát hiện xem thiết bị có hiển thị đúng UIVisualEffectView không?
Trả lời
Kiểm tra phiên WWDC này: http://asciiwwdc.com/2014/sessions/419
Vì vậy, và nhắc lại về những gì các thiết bị chúng tôi không mờ và rằng chúng tôi chỉ thực hiện pha màu trên iPad 2 và iPad thế hệ thứ 3, chúng tôi chỉ áp dụng các sắc thái và chúng tôi bỏ qua các bước mờ.
[...]
Trên iPad thế hệ thứ 4, iPad Air, iPad Mini, iPad Mini với màn hình võng mạc, iPhone và iPod touch chúng tôi làm cả hai mờ và pha màu.
Tôi đoán bạn phải nghỉ mát để kiểm tra tên máy:
#import <sys/utsname.h>
...
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
...
Ví dụ này chưa hoàn chỉnh. Tôi cũng muốn xem ví dụ về cách đặt tông màu không thành màu xám. – bluefloyd8
của Apple trong nội bộ sử dụng [UIDevice _graphicsQuality]
cho các loại séc. Trong bài viết sau tôi đề xuất một phương pháp thực hiện giống như vậy chỉ sử dụng API công khai: https://stackoverflow.com/a/27879304/1914276
FWIW, có các thiết bị phần cứng không hỗ trợ UIVisualEffectView không được liệt kê trong danh mục đó: iPhone4,1, iPhone5,1 – troppoli
- 1. Phát hiện thiết bị bluetooth ẩn/không hiển thị trên thiết bị di động
- 2. Cách phát hiện xem thiết bị có sdcard không?
- 3. Cách phát hiện xem trình duyệt trên thiết bị di động có hiển thị kiểm soát thả xuống "gốc" không?
- 4. Phát hiện hiển thị nhãn, xóa lớp bị ẩn
- 5. Phát hiện xem phần tử có hiển thị hay không (không sử dụng jquery)
- 6. Có thể phát hiện xem có thiết bị HDMI nào được kết nối bằng C# không?
- 7. Cách hiển thị mã hiển thị hiện tại trên thiết bị di động theo mvc4
- 8. adb không phát hiện thiết bị Android
- 9. Cách phát hiện thiết bị để hiển thị kiểu điện thoại di động?
- 10. Phát hiện hướng thiết bị
- 11. Lượt xem cụ thể trên thiết bị di động/Phát hiện thiết bị
- 12. Cách phát hiện xem tab Chrome có bị lỗi không
- 13. Cách phát hiện xem thiết bị di động có được Google Chrome mô phỏng không?
- 14. Thiết bị Android không hiển thị trong DDMS
- 15. Selenium C# Webdriver Cách phát hiện xem phần tử có hiển thị hay không
- 16. Javascript: Phát hiện xem văn bản có bị quấn
- 17. Làm cách nào để phát hiện xem thiết bị iOS có hỗ trợ hiệu ứng mờ không?
- 18. Thiết bị iOS của tôi không xuất hiện trong danh sách thiết bị xcode, hiển thị trong tổ chức
- 19. Phát hiện xem thiết bị BLE có thể kết nối được trên Android
- 20. Phát hiện xem các phím có sẵn trên bàn phím ảo trên thiết bị di động hay không
- 21. DDMS Không hiển thị chủ đề từ thiết bị
- 22. Phát hiện thiết bị gỡ lỗi (ADB) không hoạt động
- 23. Tôi có thể phát hiện xem video hiển thị trên PC Windows có được bật HDCP trong C#
- 24. Google Maps không hiển thị trên thiết bị Android.
- 25. Phát hiện xem thiết bị có thể thay đổi hướng trong JavaScript
- 26. Xem hiển thị trong Debug View Hierarchy, nhưng KHÔNG trên thiết bị/sim
- 27. Phát hiện thiết bị đang rung?
- 28. Tại sao thiết bị không hiển thị màu dưới Scons?
- 29. TrượtMenu không hiển thị đúng cách
- 30. Alert tin nhắn không hiển thị đúng
Bất kỳ may mắn nào với điều này? Cùng một vấn đề ở đây. – soleil