Farklı Storyboardlar ile Çalışmak

Projeye yeni ekranlar ekledikçe Main.storyboard un nasıl can çekiştiğini hepimiz iyi biliriz. Bilgisayarı bu azaptan kurtarmak için izleyeceğimiz yöntem: Farklı Storyboardlar ile Çalışmak

Main.storyboard

Öncelikle bilmemiz gereken main.storyboard üzerinden işlem yapmak zorunda değiliz. Uygulamayı yarattığımız başka bir storyboard üzerinden açabiliriz. Bunun için:

  • AppDelegate dosyasını açın
  • didFinishLaunchingWithOptions içinde şunları yazın:

İlk satırda hangi storyboard dosyasını başlatacağımızı seçiyoruz. Burada verdiğiniz isim storyboard dosyası yaratırken verdiğiniz isimle aynı olmalıdır.

İkinci satırda ise başlatmak istediğimiz storyboard un ilişkili olduğu ViewController sınıfını belirtiyoruz. Ben identifier ismini ViewController ismiyle aynı tutuyorum. Hatta tavsiyem ViewController dosyası içinde

public static let identifier = “LoginViewController”

diye bir değişken yaratın ve identifier kısmına LoginViewController.identifier deyip geçin.

Storyboard NavigationController içine gömülü ise:

O zaman rootViewController açmak istediğimiz ViewController değil; NavigationController olacak:

Benzer şey TabbarController için de geçerli.

Segue Kullanmayı Bırakmak

Projenizde bütün sahneleri tek bir storyboard a sıkıştırmak yerine her yeni bir sahne için bir storyboard yaratın. Bu yaklaşım ile daha modüler çalışmış ve Macbookunuzu fazla yormamış olacaksınız.

present etmek istediğiniz storyboard u ve sahneyi yukarıdaki gibi kullanabilirsiniz. Bu kod parçasını geçiş yapacağınız bir buton aksiyonuna veya başka bir event handler a eklemeniz yeterlidir.

Eğer aşağıdaki gibi bir method yaratıp aksiyon alacağınız yerde çağırırsanız daha hoş olabilir:

Geçiş yapmak istediğiniz bir NavigationController ise şöyle bir şey kullanılabilir:

Veya NavigationController’a gömülü bir sahne içinden diğer bir sahneye geçmek istiyorsanız pushViewController özelliğini kullanabilirsiniz:

Farklı Storyboardlar ile Çalışmak nasıl olur görmüş olduk. Sahne dizaynını yaparken Auto Layout kullanılmasını tavsiye ediyorum. İsterseniz Auto Layout Kullanımı-1 ve Auto Layout Kullanımı-2 derslerine göz atabilirsiniz.

Başka bir yazıda görüşmek üzere.