iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Tabbar laten verdwijnen en verschijnen (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/56857-tabbar-laten-verdwijnen-verschijnen.html)

celaeno2 31-03-10 23:11

Tabbar laten verdwijnen en verschijnen
 
Vraagje :)

Als je bij het bekijken van foto's in de foto app op de foto drukt, wordt de hele foto zichtbaar en verdwijnen de toolbar, navigationbar en statusbar. Druk je vervolgens op de foto, dan komen ze weer tevoorschijn. Ook als je 5 seconden wacht of naar de volgende foto scrolt, verdwijnen ze automatisch.

Weet iemand hoe je dit het beste kan bewerkstelligen, is daar een speciaal foefje voor?

Whacko 01-04-10 00:59

[navigationController setNavigationBarHidden: YES animated:YES]

is dit wat je zoekt?

celaeno2 01-04-10 17:47

Dan verdwijnt de navigationbar inderdaad, alleen hoe zorg je er voor dat ie weer te voorschijn komt wanneer je op de achtergrond drukt? Ik vraag dit omdat er nogal wat dingen op cocoa lijken voorgeprogrammeerd te zijn. Is dat dus allemaal in paar commando's samen te vatten, of werkt het gewoon zo:

If (touch background) then {hide toolbar}



Overigens bedoelde ik niet de tabbar, maar de toolbar :o Inmiddels in mijn post (niet de titel) aangepast.

Geno 03-04-10 11:12

Wat je omschrijft zijn API's en je kan de werking er van veranderen door jezelf als delegate toe te wijzen.

Ik denk dat je dit het makkelijkst kan doen door een onzichtbare UIButton in je view te plaatsen en dan resignFirstResponder method te gebruiken (zie UIResponder class).
Wellicht dat je ook een IF statement kan gebruiken, zoals je zelf aangeeft. Ik zou dan ook in UIResponder class kijken welke touchevent je kan gebruiken.

Frog 06-04-10 20:58

Het kan heel makkelijk met één van de volgende codes:

Code:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.navigationController setNavigationBarHidden:YES animated:YES]
}

Code:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[self.navigationController setNavigationBarHidden:YES animated:YES]
}

De eerst wordt aangeroepen wanneer je het scherm aanraakt en de tweede wanneer je het scherm loslaat. Redelijk logisch...:)

celaeno2 10-04-10 21:21

Interessante dingen :) Ik had de laatste reacties nog niet gezien, aangezien die een paar dagen later kwamen.

Het lijkt goed te werken, bedankt voor de hulp allemaal!

@Geno:
Wat bedoel je precies met jezelf als delegate toewijzen, bedoel je iets als een protocol?

Frog 10-04-10 22:02

Je zegt eigenlijk: ik wil alle informatie hierover ontvangen. Die informatie ontvang je in methods die je dan moet implementeren. Ik weet alleen niet hoe dat bij deze API werkt.


Alle tijden zijn GMT +2. Het is nu 01:33.