Başka bir yaklaşım tespit ettim. Temelde: Taşı = Kes + Yapıştır
Bu şekilde yaparsınız:
- tüm alt görünümlerinizin yeni ebeveyn görünümünün (P ') alt öğeleri olmasını sağlayın
- Auto-Layout tabanlı Storyboard'da (neredeyse) tüm kısıtlamalarınızı koruyun
- alt görünümünüzün göreceli konumlarını (çerçevelerini) birbiriyle koruyun
Bu şekilde şunları yapmazsınız:
- Storyboard dosyasını bir metin düzenleyicide düzenle
Temel olan şey, Storyboard'daki bir (kök) hariç her görünümün ana görünümüne sahip olmasıdır . Daha sonra, birden çok alt görünümü kopyaladığınızda / taşıdığınızda, çerçeveleri ve kısıtlamaları kaybedersiniz .
Cevabı oldukça basit. Alt görünümlerinizin (SV'ler) üst görünümlerini (P) yeni ana görünüme (P ') kopyalayarak bir kopyasını oluşturursunuz. Bu şekilde, yalnızca bu üst yeni görünümden (P ') yeni üst görünümüne kısıtlamaları yeniden oluşturmanız gerekebilir, ancak taşımak istediğiniz her alt görünüm için değil.
Üst görünümün (P) kopyasını yenisine (P ') yaptıktan sonra, bu yeni görünümden (P'):
- taşımak istedikleriniz dışındaki tüm çocukları kaldırın
- yeni üst (P ') kısıtlamalarını yeniden oluştur
- olası Arabirim Oluşturucu çıkışlarını (SV'ler) için yeniden oluşturun
Ve orijinal ebeveyn görünümünden (P) siz:
- taşımak istediğin tüm çocukları kaldır
Önce:
Görüntüle1
Görünüm2
P
Taşımak istediğiniz SV'ler
Taşınmak istemeyen SV'ler
Görüntüle3
Sonra:
Görüntüle1
Görünüm2
P
Taşınmak istemeyen SV'ler
Görüntüle3
P '
Taşımak istediğiniz SV'ler
Örneğin, bir üst görünüm olarak UIScrollView'a sahipseniz, bunun iyi bir genelleme yapmadığını vurgulamalıyım. Daha sonra bunun bir kopyası tekrar bir UIScrollView olabilir ve istenmeyebilir.
Başka bir şey de, orijinal üst görünümdeki (P) bazı alt görünümleri (SV'ler) kaldırdığınızda, diğer (taşınamayan alt görünümler) bunlara referans veriyorsa bazı kısıtlamaları yeniden oluşturmanız gerekebilir. Ama yine de yapmalısın.