iRepair

iPhone-udvikling: Skjul UITabBar

En af de mest bruge navigationselementer på iPhonen er tabbaren eller UITabBar som den også hedder. Forleden dag havde jeg brug for at fjerne tabbaren, når man trykkede på en bestemt knap i et view. Det burde være nemt nok, og længe troede jeg at jeg skulle have fat i hidesBottomBarWhenPushed, som skjuler tabbaren, når et nyt view pushes. Det virkede også fint nok, bare ikke til det formål jeg skulle bruger det til. Til sidst fandt jeg dog en løsning:


UIView *newView = [self.tabBarController.view.subviews objectAtIndex:0];
UIView *tabBar = [self.tabBarController.view.subviews objectAtIndex:1];

newView.frame = CGRectMake(0, 0, 320, 480 );
tabBar.hidden = TRUE;

Det man gør er først at resize sit view, så det fylder hele skærmen (ellers kom der et hvidt hul, der hvor tabbaren har været) og dernæst skjule tabbaren.

Når man skal vise tabbaren igen, gør man det lige modsat, dvs. sætter tabBar.hidden til FALSE og resizer sit view til 320 gange 431, så det passer over tabbaren.

Jeg havde brug for at fjerne tabbaren, for at sikre mig, at man ikke kunne navigere væk fra viewet under bestemte forhold. En anden ting man kan bruge det til er, hvis man vil fjerne tabbaren i landsskabsmode, hvor den ellers tager meget plads op.

Af hensyn til engelsktalende personer, er her et resume på engelsk:

The code above shows how to hide the tabbar (UITabBar) in an iPhone app.

Skrevet af Martin Wolsing, 15/01 2010
Relaterede indlæg

Kommentarer
Subscribe to RSS
  •  

    Har aldrig rigtig tænkt over at man kunne det :) men det er nok ret nyttigt at kunne skjule sin tabbar :) tak for tippet, og godt med lidt mere iphone udvikling :D

    15. januar 2010 @ 22:08

  •  

    Btw ville det være muligt at få en tab i menubaren (på siden) som hedder iPhone-udvikling? det er ikke alle artiklerne som har tagget iphone-udvikling, så det er lidt svært at finde dem alle :)

    15. januar 2010 @ 23:01

  •  

    Jeg kigger på det.

    15. januar 2010 @ 23:45

  • John

     

    Når nu I kan udvikler iPhone programmer, var det så ikke en ide at optimere jeres hjemmeside lidt?
    F.eks. Har jeg set et eksempel på en hjemmeside der kunne fjerne tabbaren i bunden af Safari. (Jeg synes at den ìg tabbaren optager alt for megen plads)

    16. januar 2010 @ 11:28

  •  

    @John: Har du et link til den pågældende webside?

    16. januar 2010 @ 13:15

  •  

    @John

    Hvad er det der skal optimeres ved hjemmesiden? Det er svært rigtigt at gøre noget ved tingene, når du bare kommer med et halv surt opstød, og ikke fortæller hvad det er du er utilfreds med. Og hvad har det i øvrigt med iPhone-udvkling at gøre?

    Man kan ikke bare fjerne tabbaren i Safari. Det er noget Apple styrer. Man kan dog lave noget der hedder web apps, hvor tabbaren og adresselinien er fjernet, men det har ikke så meget med iPhoneguides hjemmeside at gøre.

    16. januar 2010 @ 16:16

Skriv en kommentar

For at kommentere skal du udfylde navn og mailadresse. Du kan også oprette en profil på siden. Du finder registreringsformen nederst i sidebaren i højre side (klik på "Opret").