2014-09-29 16 views
16

Trong nỗ lực giảm kích thước gói, có thể (và một ý tưởng hay) chỉ để thêm @ 3x hình ảnh?Chỉ dành cho iPhone, ứng dụng iOS 7+, chúng tôi có thể chỉ bao gồm các hình ảnh @ 3x không?

Để làm rõ, tôi không đề cập đến biểu tượng ứng dụng, hình ảnh khởi chạy, v.v. Nhưng hình ảnh bên trong ứng dụng, như hình nền UIButton.

Tôi đã thấy Image resolution for new iPhone 6 and 6+, @3x support added? nhưng không trả lời được câu hỏi của tôi.

+0

Bạn đã thử chưa? Nó có hoạt động không? Hãy chắc chắn rằng bạn làm một công trình sạch sẽ và xóa ứng dụng khỏi thiết bị/trình mô phỏng để đảm bảo không còn hình ảnh 1x và 2x hiện có nào. – rmaddy

Trả lời

29

Có thể, nhưng bạn không nên.

Nếu bạn chỉ thêm @ 3x hình ảnh, cả hai sẽ giảm kích thước gói của bạn và tương thích với tất cả mật độ màn hình.

Tuy nhiên, tôi không khuyên bạn nên làm theo cách này. Việc nhúng chỉ @ 3x hình ảnh sẽ làm cho hình ảnh của bạn được thu nhỏ lại mỗi khi ứng dụng được chạy. Cách tiếp cận này có các nhược điểm sau:

  • Bạn không có quyền kiểm soát chế độ mở rộng hình ảnh mà iOS sử dụng. Một số hình ảnh nhất định có thể thấy pixelation và/hoặc hiện vật đáng kể sau khi được tự động thu nhỏ.
  • Mở rộng hình ảnh có thể làm chậm hiệu suất ứng dụng. Điều này đặc biệt đúng trên các thiết bị cũ hơn, điều này sẽ thực hiện rất nhiều quy mô. Chỉ sử dụng các hình ảnh @ 3x sẽ tăng thời gian xử lý của các hoạt động mở rộng này thậm chí còn hơn là giảm tỷ lệ từ @ 2x.
  • Bạn sẽ không có cơ hội xuất pixel hoàn hảo cho nội dung. Nhiều nhà thiết kế dành thời gian quy mô tài sản hình ảnh của mình theo cách thủ công để đảm bảo rằng các đường nét và kết cấu mịn không bị gián đoạn. Điều này mang lại trải nghiệm tốt nhất trên tất cả các loại thiết bị.

Nếu bạn quan tâm đến ứng dụng của mình trông rõ ràng và sắc nét trên hầu hết các thiết bị, tôi rất khuyên bạn ít nhất xuất hình ảnh của mình ở mật độ màn hình 2x và @ 3x. Tùy thuộc vào nhu cầu tương thích của dự án, đôi khi tôi không chọn xuất @ 1x.

Nếu bạn chỉ nhắm tới iPhone chạy iOS 7 trở lên thì bạn chắc chắn không cần xuất @ 1x. Tất cả các thiết bị iPhone @ 1x không hỗ trợ iOS 7 trở lên. Các thiết bị @ 1x duy nhất mà bạn sẽ cần phải lo lắng về là iPad 2 và iPad mini (không võng mạc).

Lưu ý khác: khi nghiên cứu câu hỏi của bạn, tôi nghe tin đồn rằng Apple có thể từ chối ứng dụng của bạn vì không có hình ảnh ở mọi mật độ. Tôi chưa bao giờ trải nghiệm điều này. Điều duy nhất mà tôi có thể tìm thấy trong hướng dẫn dành cho nhà phát triển là quy tắc này.

2.10 iPhone Apps cũng phải chạy trên iPad mà không sửa đổi, ở độ phân giải iPhone, và ở tỷ lệ 2X iPhone 3GS độ phân giải

Đối với tôi điều này dường như ngụ ý rằng chừng nào nó hoạt động, bạn là tốt. Nhưng người đàn ông c'mon, làm cho nó đẹp!

+1

Câu trả lời của bạn được trình bày chi tiết với lời giải thích, cảm ơn! – guptron

2

Trong thử nghiệm của mình, tôi thấy @ 3x không được nhận dạng trên iOS 7 trở xuống. Vì vậy, nếu bạn định hỗ trợ iOS 7 & 8, bạn chắc chắn sẽ muốn bao gồm @ 2x hình ảnh.

Đối với độ phân giải của hình ảnh đã nói, tôi chưa tìm thấy câu trả lời thỏa đáng. Đối với ứng dụng tôi đang thực hiện, lấy ví dụ về jpg toàn màn hình (có thể là ảnh), tôi sẽ lưu ở mức 1242x2208 cho @ 3x và 750x1334 cho @ 2x để phù hợp với độ phân giải cao nhất những hình ảnh đó sẽ được hiển thị trên iPhone.Nó không phải là một giải pháp hoàn hảo pixel vì hình ảnh sẽ cần phải được thu nhỏ lại trên iPhone 6 (+) nhưng tôi nghĩ rằng đó là một nền tảng trung bình tốt không liên quan đến quá nhiều công việc với câu lệnh quyết định hình ảnh nào dựa trên kích thước màn hình (ugh) và 5 hình ảnh khác nhau.

Một điều cần lưu ý về các mối quan tâm về hiệu suất mà dfmuir mang lại là những hình ảnh này sẽ được thu nhỏ trong nhiều trường hợp, 4/4S, 5/5S, 6/6 + ở chế độ thu phóng màn hình, thậm chí nếu bạn đi với phương pháp ưa thích của apple bao gồm 3 hình ảnh tại @ 1x, @ 2x và @ 3x, vì chúng tôi hiện có 5 (hoặc 6 bao gồm 3gs) độ phân giải khác nhau (Xem hàng pixel được hiển thị trong biểu đồ này để biết thêm thông tin: http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions)

Cách duy nhất bạn không gặp phải những vấn đề này với hình ảnh giống như hình ảnh (vì vậy không xem xét các yếu tố giao diện người dùng) là nếu bạn thiết kế nó sao cho hình ảnh của bạn có liên quan đến điểm. ngón tay cái của bạn thay vì so với kích thước màn hình của điện thoại), nhưng điều đó không phải lúc nào cũng hợp lý cho thiết kế của ứng dụng. Một ví dụ sẽ được cắt xén trên các điện thoại có độ phân giải thấp hơn thay vì được thu nhỏ lại.

0

Một điều cần lưu ý là @ 3x đã bị thiết bị xuống cấp. 3 là tỷ lệ UIDevice trong khi màn hình thực sự ở, theo một nghĩa nào đó, nativeScale. Vì vậy, nếu đối số giữ, nó sẽ làm một công việc thích hợp cho mật độ khác cũng từ @ 3x. Tất nhiên, nếu hình ảnh có một vài góc sắc nét chỉ với một điểm ảnh duy nhất ở góc, người ta có thể muốn định vị chính xác nó thay vì để hệ điều hành chọn nó bằng cách áp dụng bộ lọc liên tục mà nó sẽ áp dụng xuống cấp dưới.

+0

Thực tế, tính đến hôm qua, Apple chỉ cho phép một bộ ảnh. Apple đã gửi một thư có dòng: "... Chỉ cần gửi một bộ ảnh chụp màn hình và một bản xem trước ứng dụng tùy chọn cho kích thước thiết bị lớn nhất trong một gia đình thiết bị .." Nói chung, điều cần quan tâm trong khi thay đổi kích thước là áp dụng bộ lọc làm mờ chẳng hạn như gaussian trước khi rescaling. –

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