2014-10-20 18 views
5

Tôi muốn đặt câu hỏi về chủ đề khó hiểu (ít nhất là với tôi) - Các lớp học kích thước trong Xcode 6. Tôi đã cố gắng hiểu đầy đủ về cách thức hoạt động của nó, nhưng vẫn không rõ ràng với tôi.Xcode 6 Kích cỡ lớp học

Trước Xcode 6 và iPhone mới, mọi thứ đều rất đơn giản. Để, không võng mạc và võng mạc, hiển thị cho phép chúng tôi làm việc với độ phân giải 320x480 luôn luôn giống nhau (hoặc 568 cho thiết bị cao hơn). Tài sản chuẩn và @ 2x có ý nghĩa hoàn hảo. Bây giờ tuy nhiên, chúng tôi có màn hình ass lớn với tỷ lệ tương tự (gần như giống nhau), nhưng khu vực làm việc không giống nhau nữa.

Kích thước Lớp học được cho là có thể làm cho mọi thứ có thể phù hợp với tất cả trong một bảng phân cảnh. Nhưng chờ đợi .. iPhone 6 sử dụng tài sản @ 2x, trong đó, trong sự hiểu biết của tôi, có nghĩa là đồ họa sẽ trông nhỏ hơn trên thiết bị đó hơn trên iPhone 5/5S. Và iPhone 6 Plus sử dụng tài sản @ 3x, một lần nữa sẽ không giống nhau. Có vẻ như nó không thể thực hiện, ví dụ, một nút nhất định luôn luôn có cùng kích thước liên quan đến, nói, chiều rộng đầy đủ của màn hình. Trừ khi chúng tôi mã hóa tất nhiên, nhưng điều đó sẽ làm cho các Lớp Kích thước vô dụng.

Tôi có hiểu chính xác mọi thứ hay tôi đang thiếu thứ gì đó? Thật tuyệt vời khi nghe bạn thấy nó như thế nào. Có lẽ bạn biết một số hướng dẫn tốt? Tôi đã không tìm thấy bất cứ điều gì có thể giải thích những nghi ngờ của tôi.

Cảm ơn trước!

+0

Bạn đã hiểu. Đó là những gì tôi phải làm. Thủ công làm cho các nút lớn hơn/nhỏ hơn thông qua mã tùy thuộc vào đó là iPhone. Như bạn đã lưu ý, nút trông hoàn hảo trong iPhone 5/6 giả lập trông rất nhảm nhí trong iPhone 6 plus. Do đó tình trạng khó xử –

+0

Cảm ơn lời bình luận, Sam. Dường như iPhone 6 sẽ có nhiều rắc rối và không có cách thông minh để tạo bố cục trong Trình tạo giao diện trừ khi các kích thước và khoảng cách chính xác không phải là rất quan trọng. Nhắc tôi về Android :) –

Trả lời

4

Bạn có thể làm được gì nhiều về những gì bạn đang nói về ở đây sử dụng kết hợp các phương pháp khác nhau:

  1. lớp Kích với nhiều loại thiết bị khác nhau để trang trải hầu hết các thay đổi quy mô lớn trong cấu hình giao diện người dùng (ví dụ , sự khác biệt giữa iPad và iPhone). Bạn có thể sử dụng điều này để thay đổi xem một thanh bên xuất hiện hay không, ví dụ.

  2. Quy tắc tự động điền dành riêng cho các lớp kích thước riêng lẻ. Bạn có thể thêm các quy tắc autolayout khác nhau cho các lớp kích thước khác nhau để tinh chỉnh layout (ví dụ, bạn có thể chuyển đổi giữa một hàng ngang các nút và một cột các nút xếp chồng theo cách này, vì bây giờ bạn có thể có các quy tắc Autolayout khác nhau cho các lớp kích thước khác nhau). Kỹ thuật này cực kỳ mạnh mẽ khi bạn nhận ra rằng bạn không cần phải sử dụng cùng một quy tắc tự động cho tất cả các lớp kích thước nữa.

  3. Danh mục nội dung để chuyển đổi đồ họa được hiển thị trước cho các độ phân giải được hỗ trợ khác nhau, v.v. Cũng lưu ý rằng vì nhiều thiết bị cũ không thực sự hỗ trợ iOS 8, bạn không cần phải bao gồm các phiên bản có độ phân giải thấp nữa trừ khi bạn cần khả năng tương thích ngược rộng lớn (và nếu bạn làm như vậy, không phải tất cả các tính năng lớp kích thước đều có sẵn dù sao). Tôi vừa tạo một phiên bản mới của ứng dụng chỉ hỗ trợ iOS 8, vì người dùng trên các phiên bản cũ hơn sẽ chỉ nhận được phiên bản trước của ứng dụng.

  4. Hình ảnh có thể chỉnh lại: bây giờ bạn có thể chỉ định các khu vực có thể thay đổi trong hình ảnh để kiểm soát cách chúng được kéo dài khi áp dụng cho những thứ như UIButtons, v.v ... có thể thay đổi kích thước theo quy tắc Tự động điền. (Đây là một tính năng mà Android đã có trong một thời gian dài, vì vậy nó được chào đón trên iOS.) Điều này có nghĩa là bạn có thể làm cho mọi thứ trông đẹp hơn trên nhiều kích thước màn hình khác nhau mà không có nhiều hình ảnh riêng biệt hoặc kiểm soát chính xác nhiều kích thước của các yếu tố giao diện người dùng.

  5. Mã có lập trình trong bộ điều khiển chế độ xem để tinh chỉnh mọi thứ bạn không thể đạt được theo bất kỳ cách nào khác.

Mặc dù bạn không có quyền kiểm soát chi tiết về thiết bị hiển thị bố cục chính xác với lớp kích thước, tôi nhận thấy đây không phải là vấn đề lớn các lớp kích thước cho phép bộ điều khiển xem của bạn thích nghi với các thiết bị khác nhau rất liền mạch. Sự kết hợp các lớp tự động và kích thước đặc biệt mạnh mẽ. Và nó thực sự có khả năng là một điều tốt, bởi vì nó có nghĩa là cấu hình thủ công ít hơn bất cứ khi nào Apple đi ra với một kích thước màn hình khác nhau. Đó là một chút đau đớn ngay bây giờ để chuyển đổi, nhưng có lẽ giá trị nó trong thời gian dài. Bạn chỉ cần suy nghĩ về cách bạn thiết lập mọi thứ một chút khác biệt. Đó là một chút giống Android, nơi họ đã phải đối mặt với rất nhiều kích thước và độ phân giải màn hình thiết bị khác nhau, nhưng nó cũng là sự phát triển tự nhiên của nền tảng mà bạn không thể thiết kế chính xác cho mọi thiết bị vật lý như một vấn đề thực tế (bạn vẫn nên thử nghiệm chúng trong mô phỏng, mặc dù).

+0

này, các điểm rất tốt! cảm ơn bạn rất nhiều vì đã liệt kê tất cả điều này! –

0

Các lớp kích thước không có ở đó để thích ứng với kích thước màn hình lớn hơn, chúng có bố cục hoàn toàn khác nhau. Giống như trên iPhone, bạn có thể hiển thị một mục và chạm để truy cập màn hình tiếp theo để biết thêm thông tin, nhưng trên iPad bạn hiển thị cả trên cùng một màn hình.

Đối với điều chỉnh nhỏ, bạn sử dụng bố cục tự động, với bố cục khác nhau cho mỗi lớp kích thước và kích thước màn hình khác nhau trong mỗi lớp kích thước được bố trí tự động xử lý.

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