2014-12-30 24 views
9

Bir splitViewController'ı sürükledim ve bunu MySplitViewController'ı oluşturduğum bir alt sınıf olarak tanımladım.Bölme Görünüm Denetleyicisi Delegesini Storyboard'dan nasıl belirleyebilirim?

Bölünmüş öykü panosunu sağ tıklattığınızda Ana ve Ayrıntı görünümü denetleyicilerini belirlediğimi ve bunun yanı sıra temsilci ayarlanmadığını görebiliyorum.

Alt sınıfımı protokolle uyumlu hale getirdim ve bazı yöntemler uyguladı, ancak çağrılmıyorlar (anladığım, temsilci ayarlanmadığı için).

Ancak, storyboard'daki delege seçeneğinden ctrl + ctrl + sınıfına sürüklemeye çalıştığımda, bağlantı kurulmaz. Aslında, hiçbir şeyle bağlantı kurmaz. Bu protokolü yanlış kullanıyorum, UISplitViewController alt sınıfım kendi temsilcisi olmamalı mı? Öyleyse delegeyi kod içinde veya başka bir şekilde nerede tanımlarım?

Zaman ayırdığınız için teşekkür ederiz.

Düzenleme: Daha info-

viewDidLoad içinde self.delegate = self; koyarak çalıştı, ancak bu yardım görünmüyordu.

Ben geçersiz kılmak çalışıyorum özel yöntem

splitViewControllerPreferredInterfaceOrientationForPresentation: 

ve denir alırsa ben kadarıyla

+0

Aynı sorunları kendim alıyorum, temsilci ayarlıyorum. Her türlü denemeyi, ayrıntı görüntüleme temsilcisini oluşturmayı, bölünmüş görünüm temsilcisini oluşturmayı, delegeyi uygulama temsilcisine atamayı, temsilci protokolüne uygun bir NSObject alt sınıfı oluşturmayı ve ardından bu özel türün storyboard sahnesine bir nesne eklemeyi denedim . Hala sevinç yok. Bu bir yaşam döngüsü sorunu mu? Xcode'ta bir hata mı? Problemini çözdün mü? –

+0

Delege'yi bağlamayı başardım, bu yüzden bazı yöntemler işe yarar. Ancak splitViewControllerPreferredInterfaceOrientationForPresentation: bunlardan biri gibi görünmüyor. Bu yöntemlerin çağrılmadığını merak ediyorum, çünkü görünüm hiyerarşisindeki başka bir şey benzer yönlendirme yöntemleri çağırıyor mu? –

cevap

0

olmadığı, beni bilgilendirmek için kodundaki bir NSLog koyduk Biliyorum, NSSplitViewController s delegeleri olamaz ve splitView onların temsilciler temsilci olarak harekete geçtiği için kendi temsilcilerine yeniden atanamaz.

Temsilci yöntemlerine erişmeniz gerekiyorsa, denetleyicinin alt sınıfını açın, ardından Arabirim Oluşturucusu'ndaki sınıf adını değiştirin.

İlgili konular