2016-04-03 17 views
0

TabBarItem var, devre dışı. Kullanıcının üzerine dokunduğunda uyarı göstermek istiyorum.Devre dışı bırakıldı TabBarItem

Ama bu fonksiyon çalışmaz:

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 
     if item.enabled == false { 
      self.presentViewController(defaultAlert, animated: true){} 
     } 
    } 

Ben true için if item.enabled değiştirmek, uyarı gösterilir. Doğru anladığım gibi iOS, devre dışı bırakılmış sekme çubuklarında musluk almıyor. Bu davranışı değiştirebilir miyim?

Yardımlarınız için teşekkürler!

+1

Evet, bu doğru, devre dışı bırakıldığında, bağlantıyı alamaz. Devrede kalmasını ve başka bir şekilde devre dışı bırakıldığını izlemeniz gerekir. –

+1

Devre dışı bırakmak yerine, yalnızca devre dışı bırakıldığında bir uyarı açılır ve o denetleyicide göstermek istemediğiniz her şeyi gizler. Ardından, kullanıcı getirdiğiniz uyarıyı kapatmak için dokunduğunda, başka bir görünüme geri döner. – owlswipe

+0

Şuna benziyor, bu tek çözüm. Daha az kodla yapılabileceğini düşündüm (( –

cevap

0

En iyi seçenek değil, başka bir seçenek de, engelli UITabBarItem öğesinin üst kısmına UIButton eklenmesidir; bu, dokunuşları toplayacak ve sekme çubuğu öğesi devre dışı bırakıldığında bile uyarıyı gösterebilmenizi sağlayacaktır.

UITabBarViewController'ı alt sınıflara ayırmanız ve oradaki düğmeyi doğru sekme konumunda oluşturmanız gerekir.