Tôi đã phát hiện ra một cách tiếp cận khác. Về cơ bản nó là: Di chuyển = Cắt + Dán
Bằng cách này bạn làm:
- nhận tất cả các chế độ xem phụ của bạn để trở thành con của chế độ xem gốc mới (P ')
- giữ (gần như) tất cả các ràng buộc của bạn trong Bảng phân cảnh dựa trên bố cục tự động
- giữ các vị trí (khung) tương đối của lượt xem phụ của bạn với nhau
Bằng cách này, bạn không:
- chỉnh sửa tệp Storyboard trong trình soạn thảo văn bản
Điều cơ bản là mỗi chế độ xem ngoại trừ một (gốc) trong Storyboard đều có chế độ xem chính của nó . Tiếp theo, khi bạn sao chép / di chuyển nhiều chế độ xem phụ, bạn sẽ mất các khung và ràng buộc .
Câu trả lời là khá đơn giản. Bạn tạo một bản sao của các chế độ xem phụ (SV) của mình bằng cách sao chép chế độ xem chính của chúng (P) vào chế độ xem mẹ mới (P '). Bằng cách này, bạn có thể chỉ cần tạo lại các ràng buộc từ chế độ xem mới gốc đó (P ') sang chế độ xem mẹ mới của nó nhưng không phải cho mọi chế độ xem phụ bạn muốn di chuyển.
Sau khi bạn đã tạo bản sao của chế độ xem chính (P) thành một bản sao mới (P '), từ chế độ xem mới đó (P') bạn:
- loại bỏ tất cả các con ngoại trừ những con mà bạn muốn di chuyển
- tạo lại các ràng buộc cha (P ') mới
- tạo lại các cửa hàng Trình tạo giao diện có thể có cho (SVs ')
Và từ chế độ xem gốc (P), bạn:
- loại bỏ tất cả các trẻ em mà bạn muốn di chuyển
Trước:
View1
View2
P
SVs-bạn-muốn-di chuyển
SVs-bạn-không-muốn-di chuyển
View3
Sau:
View1
View2
P
SVs-bạn-không-muốn-di chuyển
View3
P '
SVs'-bạn-muốn-di-chuyển
Tôi nên nhấn mạnh rằng điều này không tổng quát hóa tốt nếu bạn có ví dụ: UIScrollView làm chế độ xem chính. Sau đó, một bản sao của nó sẽ lại là một UIScrollView những gì có thể không được mong muốn.
Một điều khác là khi bạn xóa một số chế độ xem phụ (SV) trong chế độ xem gốc ban đầu (P), bạn có thể cần tạo lại một số ràng buộc nếu các chế độ xem phụ khác (không thể di chuyển) tham chiếu đến chúng. Nhưng dù sao bạn cũng nên làm điều đó.