2016-09-24 12 views
14

Kể từ khi tôi đã cập nhật dự án Swift tôi để Swift 2.3 và Xcode 8 (phát hành phiên bản) Tôi có thể không nhận được giao diện của tôi làm nữa ...Layout Interface Builder vấn đề khó khăn kể từ Xcode 8

enter image description here

tôi 'm thiết lập hoàn hảo tất cả các ràng buộc. Mọi thứ đều hoạt động tốt. Tôi đang mở lại Xcode vào ngày hôm sau và tất cả các Views của tôi trông như thế.

Ngoài ra tôi đang gặp phải rất nhiều cảnh báo ...

enter image description here

Nếu tôi bấm vào Update Frame, cảnh báo sẽ biến mất và View trông bình thường trở lại. Nhưng ngay sau khi tôi khởi động lại Xcode (hoặc đôi khi thậm chí chỉ cần xây dựng dự án) nó hoàn tác một lần nữa ...

enter image description here

quan trọng: Tất cả Views trông hoàn hảo và như muốn bên trong bất kỳ thiết bị, nhưng nó thực sự khó giữ được cái nhìn tổng quan.

Tôi đã dành cả đêm để thay thế tất cả các yếu tố của dự án hiện tại của tôi. Mọi thứ đều ổn mà không có bất kỳ cảnh báo nào. Ngày tiếp theo. Cảnh báo trở lại và tôi đã thay đổi nghĩa đen không có gì ... Làm thế nào để loại bỏ điều này? Trợ giúp rất được đánh giá cao.

enter image description here

Tôi có thể "cập nhật khung", mọi thứ có vẻ tốt trở lại. Sau một vài lần xây dựng hoặc mới nhất sau khi mở lại Xcode, nó trông giống như vậy một lần nữa.

Ví dụ mới nhất: Màn hình cực đơn giản. UIViewController. UINavigationBar. UITableView. Không phân biệt. Một ô mẫu.

enter image description here

Đã đặt tất cả các Hạn chế hoàn toàn tối qua. Đã mở lại Xcode. Tìm thấy cái này.

Sửa:

Các đề nghị công việc xung quanh để chuyển đổi kích thước mô phỏng mong muốn điều khiển để Freeform trong thanh tra và sau đó cập nhật khung, chỉ là một giải pháp tạm thời. Ngay sau khi tôi mở lại Xcode, tất cả các cảnh báo đều quay trở lại. Tôi có thể thay đổi giá trị thành cố định sau đó, tất cả các phần tử "bật trở lại" về vị trí mong muốn của chúng và cảnh báo biến mất -> mở lại Xcode và tất cả các cảnh báo đều quay lại và các thành phần của bộ điều khiển đều bị xáo trộn một lần nữa.

enter image description here

Ngoài ra những gợi ý để thay đổi kiểu tập tin kịch bản để 7.x không có bất kỳ tác dụng. Tôi nhấn 7.x, nó hỏi tôi, nếu tôi muốn thay đổi. Đã nhấn ok. Nạp vào. Tôi đã mở main.storyboard và nó hỏi tôi thiết bị nào tôi muốn mở bảng phân cảnh. Xcode 8.0 đã được chọn lại rồi.

enter image description here

+0

Điều đó xảy ra mỗi lần sau khi bạn khởi động lại Xcode? – ArtStyle

+0

thỉnh thoảng nó không có khởi động lại. tiếp tục mã hóa ... tiếp tục chạy các ứng dụng. chuyển đến bảng phân cảnh vài phút hoặc vài giờ sau đó và tất cả các cảnh báo đều quay lại –

+0

nhưng có. một khởi động lại là một đảm bảo để mang lại những cảnh báo trở lại –

Trả lời

3

Tôi đang làm việc trên một dự án lớn với nhiều bảng phân cảnh và nhiều người xem. Đã có cùng một vấn đề trên hầu hết trong số họ. Và nhận ra nó đang xảy ra vì Xcode bây giờ hỗ trợ các ràng buộc với các giá trị thập phân.

Đây là sửa chữa làm việc cho tất cả các UITableViews và UICollectionViews tôi:

1) Hủy bỏ chỉ một trong những "Chiều cao bằng: xx" chế từ một trong những quan điểm của bạn bên trong tế bào.
2) Cập nhật tất cả các khung.
3) Chọn chế độ xem bạn đã loại bỏ ràng buộc.
4) Nhấp để thêm nút ràng buộc mới. Bây giờ nó sẽ được hiển thị một chiều cao mới, có lẽ với một giá trị thập phân.
5) Thêm giới hạn chiều cao mà không thay đổi giá trị bên trong hộp.

Sự cố của bạn phải được khắc phục cho ô đó ngay bây giờ. Lặp lại các bước này cho tất cả các ô bị hỏng. Hy vọng giải pháp này cũng phù hợp với bạn. Chúc may mắn!

+0

sẽ thử nó sau ngày hôm nay. hy vọng nó hoạt động, nhưng tôi có một cảm giác tốt, nếu nó làm việc cho bạn –

+0

tiếc là nó có vẻ không giúp đỡ. nếu tôi chọn một ô và, như bạn đã nói, xóa một trong các ràng buộc chiều cao, chỉ một đường viền chiều cao này sẽ bị xóa. tôi đặt nó trở lại và nó sẽ trở lại (không phải với số thập phân).một lần tôi mở lại xcode, các vấn đề đã trở lại. Ngoài ra, tất cả các yếu tố khác trong ô đó vẫn bị hỏng –

+0

nhưng tôi sẽ tiếp tục thử với đề xuất của bạn và trong 2 giờ nữa tôi có thể upvote một lần nữa. bạn sẽ nhận được upvote của bạn ít nhất là cho nỗ lực của bạn! –

4

workaround nhanh: thay đổi kích thước mô phỏng các bộ điều khiển mong muốn để Freeform trong thanh tra và sau đó cập nhật khung.Có vẻ như các trình điều khiển dạng tự do không bị ảnh hưởng bởi các tính năng Xcode 8 IB mới này :)

+0

nhận được. nó cũng vậy. nhưng whats sự khác biệt? –

+0

tính năng đó là gì? –

+0

và kích thước mô phỏng, là cũ từ xcode7 hoặc là một cái gì đó mới? –

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