Widget / görünümü ayrı bir .xib dosyasına koymak işe yarar ve özellikle aynı görünüme birden çok Görünüm Denetleyicisinden başvurmak istiyorsanız uygundur.
Bununla birlikte, bazen ek görünümü / widget'ı aynı film şeridi içinde görmek istersiniz ve bu mümkündür. İşte bunu nasıl yapıyorsun:
IB'de görünüm denetleyicinizi seçin (görünümün altındaki siyah çubuğa tıklayın), ardından Nesne Kitaplığından bir UIV görünümünü siyah çubuğa sürükleyin:
Siyah çubukta bir görünüm olduğunda, IB'deki diğer görünümler gibi somutlaştırılır, ancak kodda siz bunu yapana kadar görünüm hiyerarşinize eklenmez. Gerekirse görünümün sınıfını kendi alt sınıfınızla eşleşecek şekilde değiştirin:
Herhangi bir görünümü bağlayacağınız gibi onu görünüm denetleyicinize bağlayabilirsiniz:
Eklenen görünüm Belge Taslağınızda görünür ve orada da eylemleri ve referansları bağlayabilirsiniz:
Şimdi, geriye kalan sorun, kaç kez tıklamaya veya çift tıklamaya çalışsanız da görünümü gerçekten görememenizdir, bu da onu aynı film şeridine koyma amacını ortadan kaldırır. Neyse ki bildiğim iki geçici çözüm var.
İlk çözüm, görünümü siyah çubuktan tekrar görünüm denetleyicinizin görünümüne sürüklemek, düzenlemek ve işiniz bittiğinde siyah çubuğa geri sürüklemektir. Bu zahmetli ama güvenilir.
Diğer geçici çözüm daha titiz, ancak tüm görüşlerimi aynı anda görmeme izin verdiği için tercih ediyorum:
Nesne Kitaplığından yeni eklenen görünümünüze bir UITableView sürükleyin.
Sonra bir UITableViewCell'i bu UITableView'a sürükleyin.
Bunu yaptığınızda, görüntünüz sihirli bir şekilde yan taraftan ortaya çıkar, ancak istemediğiniz bir UITableView'a sahipsiniz. Bunu 0x0 olarak yeniden boyutlandırabilir veya silebilirsiniz ve UIView görünümünüz (genellikle) hala görünür durumda kalır.
Ara sıra, ikincil görünüm IB'de tekrar gizlenir. UITableView'ü sildiyseniz veya UITableView hala hiyerarşide ise yukarıdaki adımları tekrarlayabilirsiniz, sadece UITableViewCell'e tıklamanız gerekir ve görünüm yeniden görünecektir.
İkinci yöntem UIViews için işe yarar, ancak UIToolbarlar için o kadar iyi değildir ve UIButtons için imkansızdır, bu nedenle birçok farklı alt görünüm eklemeniz gerektiğinde bulduğum en temiz çözüm, görünüm denetleyicinize bir kapsayıcı olarak tek bir ikincil UIView eklemektir. asla gösterilmez, tüm ikincil görünümlerinizi oraya koyun ve her şeyi görünür kılmak için UITableViewCell numarasını kullanın. Bunu görünmez yapmak için sahte UITableView'umu 0x0 olarak yeniden boyutlandırıyorum. İşte hepsinin birlikte nasıl göründüğünün bir ekran görüntüsü:
xib
Hikaye panosunda değil, görünüm denetleyicileriniz için ayrı ayrı URL'ler oluşturmak ister misiniz ?