2015-09-23 13 views
16

Có thể phấn đấu cho một dự án "cảnh báo miễn phí" là vô ích, nhưng tôi lo lắng đủ về Adaptive Layout/AutoLayout mà tôi bắt buộc phải cố gắng và đè bẹp những cảnh báo này.Frame "sẽ khác ở thời gian chạy" .... Đó không phải là toàn bộ vấn đề?

Tôi có uiview rằng tôi muốn được tự động định kích thước dựa trên chiều rộng màn hình dọc. Tôi đã đặt ứng dụng của mình trong Thông tin bản dựng cho Universal, chỉ Portrait (và lộn ngược). Tôi đã hạn chế các UIView các cách sau:

  1. Phù hợp của quan điểm Trung tâm đến trung tâm SuperView của X
  2. Made của xem chiều rộng tỉ lệ với của SuperView rộng
  3. Gave quan điểm một hạn chế tỉ lệ 1: 1
  4. với quan điểm một hạn chế dọc bên của đầu

để biết chi tiết xin vui lòng xem hình dưới đây superView.

Vì vậy, bây giờ tôi nhận được cảnh báo về "khung hình khác nhau ở thời gian chạy" của khung nhìn, đặc biệt là kích thước và vị trí trong thời gian chạy so với những gì có trong canvas. Không chắc chắn lý do tại sao Xcode "quan tâm" về canvas nơi kích thước lớp được đặt thành Độ cao bất kỳ và Chiều rộng bất kỳ. Tôi nghĩ rằng toàn bộ điểm của bố cục Thích ứng là kích thước và vị trí được giải quyết trong thời gian chạy dựa trên kích thước màn hình thiết bị và hướng.

Nếu tôi phân tích và để cho Xcode "Cập nhật khung" ... có cảnh báo biến mất, nhưng với chế độ xem cực lớn, hầu như không thể làm việc đồ họa trong canvas nhỏ theo kiểu WYSIWIG. Bất kỳ giải pháp nào ở đây để loại bỏ các cảnh báo mà không tạo ra các khung nhìn quá khổ khiến cho hoạt động bên trong canvas gần như không thể?

Canvas screenshot

Trả lời

7

Bạn có thể thay đổi kích thước mô phỏng số liệu ví dụ đến 4-inch iPhone!

enter image description here

Hoặc Freeform và sau đó thay đổi kích cỡ để phù hợp với những gì bạn nhất.

enter image description here

19

Để thoát khỏi cảnh báo, và để cho những hạn chế đặt quan điểm "chính xác", chỉ cần chọn quan điểm cho rằng là đưa ra các cảnh báo, báo chí điều tam giác nhỏ ở góc dưới bên phải của storyboard : enter image description here

Và sau đó chọn "cập nhật khung" cho "Tất cả Lần trong container"

(tôi muốn có một số cách để làm điều này cho toàn bộ một storyboard ít nhất tôi đã không tìm thấy nó.)

.210
+1

Xin lỗi, có thể tôi không rõ. Trong câu hỏi của tôi, tôi đã lưu ý rằng tôi có thể cho phép Xcode sửa chữa mọi thứ bằng "Khung cập nhật". Câu hỏi của tôi về cơ bản là làm thế nào để sử dụng bất động sản Canvas giới hạn sau khi có một "khung cập nhật". Tôi nhận ra có một chút rên rỉ và rên rỉ trước câu hỏi của tôi :) –

13

Chọn chế độ xem và nhấn

  • Lựa chọn + lệnh + =

này sẽ cập nhật kích thước khung hình. Lặp lại cho tất cả các lượt xem vi phạm.Nó không mất nhiều thời gian, đặc biệt là nếu bạn tìm thấy chúng bằng cách nhấp vào các thông báo lỗi.

Cảm ơn this answer cho ý tưởng.


Ghi chú

Sau khi cập nhật để Xcode 8, và chọn một số Xem dưới dạng thiết bị, tôi đã nhận được lỗi này. Trình đơn khác với trong Xcode 7, vì vậy câu trả lời của @ Spoek không còn hoạt động nữa. Đồng thời nhấp vào Cập nhật hoặc Đặt lại không hoạt động đối với tôi.

enter image description here

Cập nhật

Cập nhật Khung bây giờ có nút riêng của mình. Đó là lý do tại sao tôi đã bỏ lỡ nó trước đây.

enter image description here

+0

@RaphaelP. Cập nhật các khung hình chỉ làm cho nó trông giống như những gì nó sẽ trông giống như trên một thiết bị đang chạy. Việc cập nhật khung phải luôn an toàn. (Đó là, nó không thay đổi các ràng buộc của bạn.) Thời gian duy nhất tôi gặp vấn đề với nó là khi tôi không có các ràng buộc của tôi được thiết lập đúng, và cập nhật các khung làm cho nó khó tìm được lượt xem. – Suragch

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