Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Costum Toolbar

0 oy
44 kez görüntülendi
12, Aralık, 2015 ios development kategorisinde huseyinvural tarafından soruldu
Merhaba arkadaşlar yaklaşık on adet VC dan oluşan bir uygulamam var ve bunlar bir navigation controller a embed edilmiş durumda. Şimdi ben NC'ın toolbarını değilde kendi yazdığım costum bir toolbar ı hepsine dahil etmek istiyorum. Yapmak istediğim şu özel bir view im var içinde de butonlarım var anasayfa, profil , ayarlar gibi bu view i bir kere hazırlayıp uygulamamdaki tüm view controllerın bottom poziyonun dahil etmem ve içindeki butonlara erişeibilmem mümkün müdür ?

Yani costom toolbarımı bir kere oluşturuyorum, daha sonra tüm View Controllerların bottom 0 poziyonuna dahil ediyorum, diyelim ki profil VC na girdim costum toolbarımdaki profil ikonunun rengini değiştiriyorum. Böyle bir yapı oluşturmam mümkün müdür, değilse buna yakın en pratik mantık nedir ? Yardımcı olabilir misiniz ?

1 cevap

+1 oy
14, Aralık, 2015 yasin tarafından cevaplandı
14, Aralık, 2015 huseyinvural tarafından seçilmiş
 
En İyi Cevap

navigation controller'ın toolbar özelliği bulunmamaktadır.
siz anladığım kadarıyla her viewController'ın hem bir navigationController'altında hem de custom bir toolbar altında yer almasını istiyorsunuz.
o zaman öncelikle custom toolbar'ınız için bir viewController oluşturun.
daha sonra her viewController'i ayrı yrı navigationController'lar altına set edin.
ve bu navigationController'ları da custom toolbar viewController'altın child viewController'olarak ekleyin.
oluşturacağınız custom toolbar viewController'iniz içerisinde toolbar'da yer alan ilgili butaonlara tıklandığında iligili navigationController'a geçilmesini sağlayacak bir yapı kurmalısınız.

14, Aralık, 2015 huseyinvural tarafından yorumlandı
Üstat sizsiniz ama :), navigation controller seçeneklerinin bulunduğu panelde show toolbar diye bir seçenek var. Bunla viewcontroller alında bir toolbar gösterebiliyorum. Fakat her view controler içinde anasayfa,profil,ayarlar gibi itemleri tekrar tanımlamam ilgili segueleri tekrar oluşturmam gerekiyor. Muhtemelen daha pratik bir yolu vardır diye düşünüp araştırmaya başlamıştım.

Söylediğinizden anladığım kadarıyla bir oluşturduğum costum bir viewcontroler ı toolbar altına childeview controller olarak eklediğimde işimi görücek gibi, deneyeceğim ilginiz için teşekkür ederim.
14, Aralık, 2015 yasin tarafından yorumlandı
aahh çok özürdilerim.
toolbar okuyorum, fakat tabbar anlıyorum. benim hatam pardon. :)

o halde sanırım navigationController altında tüm viewController'larda kullanılabilecek bir toolbar oluşturmak istiyorsunuz.

basit bir örnek hazırladım şu adres üzerinden indirip inceleyebilirsiniz.
https://drive.google.com/file/d/0B_33To7xgYO7RHI5VXlSYXphVGs/view?usp=sharing
14, Aralık, 2015 huseyinvural tarafından yorumlandı
çok teşekkür ederim şahane bir örnek olmuş, çok ilgilisiniz. web tarafında ki mantığa alışkın olduğumdan hep yanlış bir mantıkla ilerliyordum. Benim aklımda özel bir vc oluşturup hepsine include edilir diye birşey vardı. Örneğinizden anladığım kadarıyla, viewcontroler lar navigtion controler altında olduğu için biz özel bir viewcontrolerımız varsa bunu navigtion controler içine ekleyerek tüm vc lerde yer almasını sağlıyoruz.

bir sonraki etapta slide menu hazırlıyacağım burda da tüm vc lerde yer alması için menumu olusturan vc mi hazırlayıp navigation contolerım için eklemeliyim değilmi doğrumu anlamışım ?

Vaktinizi alıyorum ama ufak bir sorum daha var, örneklerinizi inceliyorum hiç storyboard kullanmıyorsunuz, ben ise sürekli kulanıyorum özelikle autolayout mantığını kulanmak için sürekli storyboard a ihtiyaç duyuyorum, sizce yanlış mı yapıyorum bu düzeltemem gerken bir sorun mu ?

Çok teşekkürler.
14, Aralık, 2015 yasin tarafından yorumlandı
evet doğrudur.
navigationController kullanılarak viewController'larınız arasında geçiş yapacaksanız.
parrent controller'iniz bir navigationController olmalı ve viewController'larınızın bu navigationController altına eklemelisiniz.
ve tüm bu viewController'lar arasında geçiş gerçekleştirilirken her viewController'da görünmesini istediğiniz öğelerinizi navigationController altına ayrı bir obje olara eklemelisiniz.
fakat ben verdiğim örnekte, sizin de beni uyardığınız üzere navigationController'ın default bir özelliği olan toolBar özelliğini kullandım. Çok daha özel bir şeyler yapmak isterseniz dikkat etmeniz gereke şeyler olacaktır.  
ayrıca aynı mantık tabBar yapısı kullanılırken de geçerli.

storyboard kullanmamak aslında kötü bir alışkanlık sayılabilir.
bir çok anlamda işinizi kolaylaştırıyor çünkü. özelikle autolayout için.

ama bana artık programatically çalışmak daha kolay, aksine storyboard kullanmak daha zor geliyor.
programatically çalıştığınızda hem aslında arka planda neler olduğunu, işleyişin nasıl olduğunu çok daha iyi kavrıyorsunuz ve bu da size dil üzerinde iyi bir hakimiyet kazandırıyor.
ama iş yükünü arttırıyor. bu bir gerçek.
dediğim gibi eğer ios'u iyi bir şekilde kavramak istiyorsanız ben her zaman programatically çalışmayı öneririm.
14, Aralık, 2015 huseyinvural tarafından yorumlandı
daha önce autolayout mantığını programatic olarak hiç kullanmamıştım, bu yönce kendimi geliştirmeyi ihmal etmeyeceğim birkaç kaynak bulup hemen başlıyacağım, çok teşekkürler.
...