2011-12-13 21 views
19

Arayüz oluşturucu ile UIViewController'ın bir alt sınıfını oluşturduğumda .xib/.nib oluşturmayı seçmeyeceğim, çünkü sadece bir arayüz oluşturucusunda bir denetleyiciyi sürükleyebilirim ve bunu yeni sınıfa ata.Hikaye panosu gereksinimi ortadan kaldırır mı?

Yani, storyboard ile, .xib/.nib dosyasını ne zaman kullanmam gerekir?

Teşekkür ederiz.

+0

Hiç film şeridini kullanmadım, ancak uygulamalar oluşturmak veya en azından görünümler oluşturmak için bir sihirbaz gibi değil mi? Oluşturdukları görüntülerde, daha sonra manuel olarak oluşturulanlar arasında herhangi bir fark olduğundan şüphe duyuyorum. Bu xib dosyaları hala var ama gizli –

+0

bahis Hiyerarşi içinde değil, kök klasörde gerçek bir dosya yok. –

cevap

11

Hikaye panosu, tüm görünümleriniz için .xib/.nib dosyalarını içerir. Aralarındaki ilişkiyi sunar ve çok sayıda görüşünüz varsa, karışıklığı önlemenize yardımcı olur. Ayrıca kod yazarken zamanınızı ve sinirlerinizi de korur.

+0

Teşekkür ederim. Şimdi, tüm bu öğreticiyi, .xib'in –

+5

kullanımı hakkında konuşmadan önce, tüm bu öğreticiyi gördüğümden daha rahat hissediyorum. Arayüzünüzü storyboard'larla yeniden işlemeye geçmeden önce, Jonathan Wight'ın teknoloji ile ilgili sorunların tam açıklamasını okumak isteyebilirsiniz: http : //toxicsoftware.com/uistoryboard-issues/ –

+1

Brad Larson'ın yorumunda bahsedilen URL taşınmış gibi görünüyor, şu anda http://toxicsoftware.com/uistoryboard-issues.html – JosephH

4

Film şeridi kullanıyorsanız, genellikle ayrı .xib dosyaları oluşturmanız gerekmez. İsterseniz numaralı telefonu kullanabilirsiniz. Eğer isterseniz bir .xib dosyası kullanabilirsiniz. Kendi başınıza yapılandırmak istediğiniz karmaşık bir görünümünüz varsa. Yine de çoğu zaman, bunu yapmaya gerek yok.

+0

Nib dosyaları oluşturmanıza gerek yok, belirli görünümleri yeniden kullanmak istediğinizde. Örneğin, çeşitli yerlere yerleştirmek istediğiniz bir dereceye kadar derecelendirme görünümünüz varsa (5 Yıldızın 4'ü)? Özlü, doğru ve nokta için – Besi

32

Storyboard'lar NIB dosyalarına olan ihtiyacı tamamen ortadan kaldırmaz. Yaygın bir örnek, UIScrollView'un içine girilecek alt bölümlerin oluşturulmasındandır. Bir hikaye tahtasında alt gösterimleri ayrı ayrı oluşturamazsınız; bunun yerine alt görünümler için ayrı NIB (ler) oluşturmalı ve bunları programlı olarak kaydırma görünümüne eklemelisiniz. Aslında, çalışma zamanında değiştirilen alt görünümlere ihtiyaç duyduğunuz hemen hemen her durumda, ayrı NIB'leri kullanmak isteyeceksiniz.

Storyboard'lar, belirli türdeki uygulamalar için harikadır, ancak uzaktan bile karmaşık olan herhangi bir şey için eski yöntem çok iyi çalışır. Ek bir fayda, güzel bir şekilde bir arada bulunmalarıdır. Yer tutucu görünümlerini storyboard'unuza yerleştirebilir ve daha sonra NIB tanımlı görünümlerle programatik olarak doldurabilirsiniz.

+0

+ 1. Soruyu gerçekten yanıtlamaktan bahsetmiyorum. – sean

10

Son zamanlarda Storyboarding dışarı denedim ve kullanımı hakkında karışık duygular var:

Pro'nun

  • Kolaylık: Çok daha az kod yazmak gerekebilir. Yani örneğin herhangi bir kod yazmadan statik bir görünüm gösterebilirsiniz.
  • Genel Bakış: Hızlı bir şekilde ViewControllers birbirlerine
  • Verimlilik ile nasıl görebilirsiniz: Basit kullanım durumları için ben Storyboarding çok daha verimli "eski yol" dan bulabilirsiniz.

    Örnek 1: Editor > Embed In > Navigation Controller ve voilà, artık örnekleme ve yapılandırma gerekmez.

    Örnek 2: Statik tablo görünümlerinin oluşturulmasını önemli ölçüde hızlandıran TableView için "Prototype Cells" yapabilirsiniz. AFAIK bu kalem ucu dosyalarla not possible olduğunu

  • Bu serin :-) var

Con'ın ben yeniden kullanılabilirlik nasılsa storyboard'una uğrar bulmak

  • . Her ne kadar belirli bir ViewController'a birden fazla noktadan gelebiliyor olsam da, bir örnekte VC'yi bir Popover olarak ve bir diğerinde Master-ViewController olarak kullanabiliyorum.
  • Büyük bir ekipte çalıştığınızı ve farklı kişilerin uygulamanızın farklı bölümlerini değiştirdiğini varsayarak, daha sonra birleştirmeniz gereken tek bir monolitik hikaye tahtasına sahip olmanız, ekip çalışması açısından büyük bir sorun oluşturabilir.
  • Şu anda mümkün olmayan hikaye etiketine varolan nib dosyalarını dahil etmek veya referans vermek için bazı mekanizmalara sahip olmak isterim.

Bu noktaları göz önünde bulundurarak, yine de hikaye tahtasını oldukça çekici buluyorum; ancak, her iki yaklaşımın da gerçekten büyük bir şeyle birleştirilmesi mantıklı. Ayrıca, bu teknoloji hala oldukça yenidir, bu yüzden (yakın) gelecekte gelişebilir.

İlgili konular