2014-05-10 10 views
5

Tôi đang sử dụng Git để kiểm soát nguồn và nó đã cho phép tôi xác định chính xác lý do tại sao một trong các chế độ xem của tôi từ chối tự định vị chính xác. Hóa ra mỗi khung nhìn trong một bộ điều khiển đã được thiết lập để được cố định bởi thuộc tính XML fixedFrame="YES". Tôi đã cô lập sự thay đổi này từ cam kết nó được viết vào, và nó bây giờ nằm ​​trong thư mục làm việc của tôi. Nhưng đây là phần khó chịu. Tôi có thể hoàn nguyên tệp Storyboard và đúng cách, XML sẽ xóa tất cả thuộc tính fixedFrame. Nhưng ngay sau khi tôi bắt đầu tạo một bản dựng mới cho các thiết bị thử nghiệm của tôi, các thay đổi được áp dụng lại trước khi biên dịch và tất cả các chế độ xem được đặt thành chiều rộng cố định. Nó làm tôi khốn khổ.Kịch bản trong Xcode tạo ra FixedFrame = "YES" không mong muốn cho tất cả các khung nhìn trong bộ điều khiển

Tôi đã xóa dữ liệu có nguồn gốc, không ngừng xóa sạch tệp dự án, khởi động lại Xcode và máy phát triển của tôi.

Tôi nghĩ có lẽ thuộc tính XML fixedWidth tương quan với tùy chọn IB Autoresize Subviews, nhưng việc chuyển đổi không ảnh hưởng đến việc tạo các công cụ khung cố định. Tôi hình dung phải có điều gì đó không mong muốn trong một loại thư mục siêu dữ liệu không gian làm việc.

Thực sự có thể sử dụng một số trợ giúp bổ sung, tôi đã tìm kiếm mọi thứ tôi có thể nghĩ về điều này và dường như không có độ phân giải nào trong tầm nhìn.

+1

Bạn đã thực hiện thay đổi nào để đặt nó ngay từ đầu? Tôi không sử dụng IB nhiều nhưng không phải khung cố định được thiết lập nếu bạn không có đủ ràng buộc để xác định bố cục của mình hoàn toàn? Nó chỉ đưa họ từ các kích cỡ trong IB? Điều gì xảy ra nếu bạn "thêm các ràng buộc được đề xuất" từ trình đơn Sự cố tự động điền? – jrturton

+0

Đó chính xác là những gì đã xảy ra - hóa ra tất cả các ràng buộc của tôi đã bị xóa trong toàn bộ Bảng phân cảnh. Bằng cách nào đó tôi vô tình xóa từng cái một. Điều này thật kỳ lạ, bởi vì tôi biết về tùy chọn "loại bỏ tất cả các ràng buộc trong chế độ xem", nhưng không phải là tùy chọn để xóa toàn bộ Storyboard.Nhưng cảm ơn cho đầu vào, bạn đã đúng về tiền. – user

+1

Rất vui được trợ giúp. Nó có thể đã xảy ra nếu hộp autolayout sử dụng đã được kiểm tra sau đó bỏ chọn? – jrturton

Trả lời

3

Tôi không chắc liệu có ai sẽ chạy qua vấn đề này giống như cách tôi đã làm hay không, nhưng câu trả lời là tất cả các ràng buộc của tôi đã bị xóa cho Bảng phân cảnh đó do một số tai nạn và không có ràng buộc, thuộc tính fixedFrame được tự động đặt khi Bảng phân cảnh được tạo.

Giải pháp: Thùng rác cam kết gây ra điều này hoặc bố cục lại mọi thứ theo cách thủ công.

2

Bạn có thể đi vào và loại bỏ các hunks fixedFrame ...

Storyboard fixedFrame

Hoặc Tôi cũng đã phát hiện ra rằng làm sạch, xóa dữ liệu thu được, và khởi động lại Xcode có thể giải quyết vấn đề này.

0

Đối với tôi, điều này xảy ra khi bật/tắt các lớp kích thước.

enter image description here

Tôi nghĩ rằng điều này nên được bỏ chọn theo mặc định khi bạn có xu hướng để tạo ra "biến thể" của bố trí của bạn khi vô tình thay đổi lớp hiện tại và sau đó sửa đổi bất kỳ yếu tố giao diện.

enter image description here

Tôi đã thay đổi nó rất nhiều vì Assistant thông thường biên tập Preview có vẻ là không có sẵn một cách ngẫu nhiên.

Tóm lại, giờ đây tôi tránh sử dụng các lớp học miễn là có thể. Một khi bố trí cơ bản được thực hiện tôi có thể kích hoạt nó để thực hiện điều chỉnh cuối cùng cho các kích cỡ màn hình khác nhau. Đó là nếu các ràng buộc bố trí tự động không đủ.

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