2012-07-28 13 views
9

Şirketimiz iPad için oldukça geniş bir uygulama geliştiriyor. Sonuç olarak, kullanıcı başına kullanıcı arayüzünü (kiracı) ve hatta kullanıcı başına (bu müşterinin) bile özelleştirebilmeyi istiyoruz. HTML5'te başladık, ancak yerelliğe geçtik.Dynamic Storyboard veya Xibs/Nibs

Sunucudan XML indirirken (hatta XIB/NIB dosyalarını oluşturdu) ve bunları uygulamanıza dinamik olarak ekleyerek biraz okuma yaptım.

Artık iOS 5 ile (ve hatta 6. sırada), storyboard oluşturma büyük bir rol oynuyor.

Sorularım:
- (Çoklu?) Film şeridini veya XIB'leri kullanmak daha iyi olur mu?
- Dinamik kullanıcı arabirimi sunmak istiyorsam seçeneklerim nelerdir?

Sihirli bir ilaç ya da HTML5 ile yerel hakkında bir tartışma aramıyorum, sadece dinamik bir arabirimi nasıl sunabileceğime ve bunun için hangi tekniklerin yardımcı olabileceğine dair bazı bilgiler arıyorum.

+1

IB ile bile bulaşma.Programlamanın bir noktasında, tuhaf an, dragift'le şık bir görünüm sergilemeyi bırakmanız ve ** oturup kod yazmanız gerektiğinde gelir. **. –

+0

Gerçekten bunun hakkında konuşamıyorum, ancak şu bağlantıyı kontrol edin: https://developer.apple.com/library/prerelease/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html#//apple_ref/oks/cl/NSAttributedString –

cevap

8

sizin iki soruya benim yanıttır:

  1. film şeridi sahne yönetimi için mükemmeldir; Çeşitli sahneleriniz/görünümleriniz arasında görsel bir bağlantı oluşturur. Hikâyemizi mümkün olduğunca çok UI'm için kullanmayı tercih ediyorum. Ancak, bazı uygulamalarda var olan veya yeniden kullanılabilir veya başka bir şekilde dinamik XIB'leri toplayan öğeler var. Bunları, istediğim yerde XL kodlarını koduna yükleyerek, bunları hikaye tahtalarımla birlikte bağlarım. Bu nedenle, ilk sorumuz için ilk cevabım "her ikisi de", mümkünse storyboard'lar kullanılır ve XIB'ler dinamik sahneler/görünümler için kullanılır.

    1. XIB dosyalarını kullanarak tüm kodu oluşturmak ve tüm UI geçiş işlemleri: Dinamik kullanıcı arayüzü

    2. seçenekleriniz en azından aşağıdaki iki seçeneği (yukarıda belirtildiği gibi, ben ikinci tercih olan) içerir kodunda storyboardlar olmadan

    3. şeridine sahip viewControllers arasındaki ilişkiler açısından nispeten statik kalacaktır bildiğiniz kadarını UI oluşturmak ve sonra initWithNibName kullanarak UI dinamik parçalarını yüklemek: bundle:

nihayet, durumu kontrol birden görsel senaryoları kullanabilir ve Film şeridinde başka bir yerde oluşturulan yeniden kullanılabilir bileşenler gelir ve ayrı tutulan veya film şeridi XML olsun bu bile (dinamik UI için geçerli olabilecek eğer Film şeridinin kaynağına bakın, bu sadece üretilen bir şeyden veya herhangi bir yerden elde edilmiş olsun, sadece başlık altındaki XML'dir. Uygulamanız birçok karmaşık, birbirine bağlı view-controller sahneleri olacaksa bile tasarım aşamasında birden fazla storyboardlar ile UI yönetmek için karar verebilir (örneğin her bir hikaye akışı sahneyi rootController/bağlandığında yüklenen kendi film şeridi, olabilecek bir UITabBarController her sekme bir sekme seçilir).

1

StoryBoard tüm yolu! Ben kesinlikle hikaye tahtalarını sevmemek için kullanıyorum, ama sonra onlara kullandım ve şimdi onları seviyorum. Storyboardlar gitmenin yolu.