2014-10-02 11 views
5

Merhabalar ios app dev. Şimdiye kadar nav çubukları veya sekme çubukları içeren uygulamaları kapsayan öğreticiler yaptım. Şimdi ikisini de birleştiren bir uygulama yapmak istiyorum.nav çubuklarını ve sekme çubuklarını tek bir uygulamada birleştirmenin uygun bir storyboard örneği ne olurdu?

Diyelim ki, iki sekmeyle altta bir sekme çubuğu olan bir uygulama var: arkadaşlar ve düşmanları. Her sekmede arkadaşlarımın ve düşmanlarının kim olduğunu gösteren bir liste oluşturmayı planlıyorum, bu yüzden her sekmenin gezinme çubuğunda bir addPerson düğmesine ihtiyaç duyacak. Bu senaryo göz önüne alındığında, denetleyicilerimi, görünümleri ve öğeleri düzenlemenin doğru yolu ne olurdu?

hem sekme denetleyicim hem de nav denetleyicim aynı görüntü denetleyicisine mi işaret ediyordu?

nav denetleyicimin (2 nav denetleyicisi şimdi?) Daha karmaşık bir uygulamada nasıl çalışacağını kavramsallaştırma konusunda sorun yaşıyorum.

+0

Uygulamamda storyboard kullanmıyorum, ancak bir sekme/nav denetleyicim var. Sekme denetleyicisini root olarak ve sonra her sekmede bir nav denetleyicisi var (iyi, bir tane gereken sekmeler). Her sekme için tamamen ayrı bir xib dosyası var. –

cevap

8

Bunu, Storyboard'unuzda nasıl ayarlayacağınız anlatılmaktadır. Ana kontrol ünitesi TabBarController'dur. TabBarController her öğe NavigationController kendi vardır:

enter image description here

Muhtemelen listeler için TableViewController kullanmak istiyorum. Burada, NavigationController'un rootViewController'ı olarak TableViewController'u gösterdim.

Bunu yapmanın hızlı bir yolu Storyboard'daki her şeyi silmek ve ardından diğerini doğrudan birinin üzerine yerleştirmek için iki TableViewControllers dışarı sürüklemektir. Her ikisini de çevreleyen bir taslak sürükleyerek ikisini de seçin ve menüden Editor->Embed In->Tab Bar Controller'u seçin. Ardından sırayla her bir TableViewController seçin ve Editor->Embed In->Navigation Controller'u seçin.

+1

Açık bir cevap için teşekkürler. Gelecekte herhangi bir noobs için, sekme çubuğu denetleyicisinin "başlangıç ​​görünümü denetleyicisidir" seçeneğinin işaretli olduğundan emin olun. film şeridindeki her şeyi silerseniz otomatik olarak seçimi kaldırılır – stanley

0

Eğer dinamik başlığını ayarlayın UITabBar temsilci bu işlevi kullanmak istiyorsanız: normalde UINavigationBar ile yapacağını gibi

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { 
    self.title = viewController.title 
    print("Should select viewController: \(viewController.title) ?") 
    return true; 
} 

Sonra sadece görünümü kumandam viewControllers title ayarlayın.