2012-07-21 22 views
8

Próbuję wprowadzić ukrytą UITabBar w mojej aplikacji. Przygotowałem wszystkie animacje i działają one bardzo dobrze. Właśnie mam problem z pobieraniem mojej zakładki "Uibutton", aby wyświetlić pasek kart. Nie odpowiada na zdarzenie dotykowe UIControlEventTouchUpInside. dodam z uchwytu do UITabBar w UITabBarController:Dodaj UIButton jako podzbiór do UITabBar

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
//Add pull 
    pullButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage *image = [UIImage imageNamed:@"TabBarPull.png"]; 
    pullButton.frame = CGRectMake(self.tabBar.frame.size.width - image.size.width, -image.size.height + 3, image.size.width, image.size.height); 
    [pullButton setImage:image forState:UIControlStateNormal]; 
    [pullButton addTarget:self action:@selector(pullBarTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    pullButton.userInteractionEnabled = YES; 
    [self.tabBar addSubview:pullButton]; 
} 

Oto co pasek kart wygląda otwarte i zamknięte:

TabBar not hidden TabBar Hidden

Edycja: Ustaliliśmy problem polega na tym, że przycisk wychodzi poza ramkę UITabBar. Wygląda na to, że będę musiał umieścić przycisk poza UITabBarem ... Animation nightmare.

+0

Cóż, jest to MOŻLIWE, że można podklasę UITabBar, dowiedzieć się, jak uzyskać swoją podklasę w UITabBarController (podklasa to), następnie w podklasie UITabBar utworzyć większą ramkę, mieć UITabbar używać jego normalnej ramki, ale teraz twoja podklasa powinienem dostać wszystkie krany itp. Gdybym był ja, najpierw spróbowałbym po prostu zrobić podklasę UITabBar w projekcie demonstracyjnym, tylko wtedy, gdy to działa, staram się, aby działał z wszystkimi innymi maszynami. Powodzenia! –

+0

@Brandon Mcq Hey Patrzę na to samo - czy kiedykolwiek wymyśliłeś dobre rozwiązanie? Dzięki! – RyanG

+0

@Brandon Mcq Właśnie zobaczyłem twój github, patrząc na to dzięki! – RyanG

Odpowiedz

12

Można jeszcze dodać UIButton do głównej widzenia UITabBarController „s, a nie w UITabBar chociaż .... [myUITabBarController.view addSubview:pullButton]

+4

To działało, dziękuję. Stworzyłem przykładowy projekt i umieściłem go na githubie. [link] (http://github.com/Marxon13/HideableTabBar) –

0

Skoro masz część ukrywanie pracuje w UITabbar oraz z odpowiedzi widziałem tutaj , jedną alternatywą byłoby utrzymanie UIButtonu w UITabbar, ale także dodanie przycisku do widoku, gdy UITabbar jest ukryty (więc będziesz miał dwa przyciski, które nakładają się). Po wyświetleniu paska zakładek ukryj przycisk dodany do widoku za pomocą ukrytej właściwości w widoku.