Đối ứng cho iPhone6/iPhone6 Plus
Bài đăng này đã không được cập nhật trong 9 năm
Với Xcode6 GM, chúng ta có thể tiến hành đối ứng iPhone6/6 Plus cho các iOS projects từ trước.
Screen Resolution
So sánh độ phân giải các thiết bị iPhone:
iPhone4s | iPhone5/5s | iPhone6 | iPhone6 Plus | |
---|---|---|---|---|
Physical Resolution | 640x960 | 640x1136 | 750x1334 | 1080x1920 (1242 x 2208) |
Logical Resolution | 320x480 | 320x568 | 375x667 | 414x736 |
Pixel Density | 326ppi | 326ppi | 326ppi | 401ppi |
Device Pixel Ratio | 2.0 | 2.0 | 2.0 | 3.0 |
Dễ nhận thấy iPhone6 Plus có pixel ratio = 3
sẽ mang lại khá là phiền hà, khiến các thiết kế cho iOS bây giờ phải chia trường hợp theo màn hình.
Chạy thử debug bằng iOS simulator thì kích thước màn hình của iPhone6 plus là 414 x 736
, 3 lần là 1242 x 2208
, nhưng theo tài liệu chính thức thì lại là 1080 x 1920
. vậy là pixel ratio chỉ khoản 2.46
thôi :-?
Phương pháp đối ứng cho các project từ trước
Với những iOS projects hiện tại, không làm gì cả mà cứ build rồi chạy thì hiển thị sẽ là dạng phóng to của hiển thị trên iPhone5/5s (320 x 568
), cảm giác giống như khi chạy iPhone app cho iPad thì sẽ x2
vậy. Tuy nhiên do sự sai lệch về kích cỡ ko lớn như iPad ⇔ iPhone nên cũng ko có vấn đề gì lắm.
Để chạy với độ phân giải của iPhone6/6plus, bắt buộc phải setting cho Launch Screen File hoặc Launch Images.
Launch Images:
Project file: General
tab → App Icons and Launch Images
→ Launch Images Source
→ setting LaunchImage
Nếu lựa chọn iOS8.0 and Later
ở LaunchImage
của images.xcassets thì có thể thiết lập ảnh cho Retina HD 5.5, Retina HD 4.7.
Đối với project mới, với Launch Screen File
ta có thể tạo xib file dành cho khởi động thay vì chuẩn bị 4 loại ảnh màn hình khởi động. Chức năng Launch Screen File
tạo màn hình khởi động bằng xib file là chức năng từ iOS8 trở đi, từ iOS7 trở về trước thì ko sử dụng được.
Image resources
Đối với iPhone6 Plus, chương trình sẽ lấy ảnh từ @3x
, nếu không có thì sẽ lấy từ @2x
.
Do đó từ giờ iOS phải chuẩn bị image resources x3
nữa (honho)
Source: iPhone6/iPhone6 Plusの画面対応について
All rights reserved