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/)
-   -   Screen draaien (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/23175-screen-draaien.html)

macfreaker 06-10-08 21:23

Screen draaien
 
Code:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

Mijn app start in portrait mode,Ik gebruik bovenstaande code om mijn screen te draaien in landscape mode maar kan niet vinden hoe nu terug naar portrait mode te draaien. Iemand een voorbeeldje voor mij ?

jonathan 06-10-08 22:16

Ik programmeer zelf niet voor de iPhone maar heb wel scriptervaring, en het lijkt mij logisch om UIInterfaceOrientationLandscapeRight te vervangen door UIInterfaceOrientationPortrait, waardoor je deze code zou krijgen:

Code:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


macfreaker 07-10-08 06:35

Citaat:

Ik programmeer zelf niet voor de iPhone maar heb wel scriptervaring, en het lijkt mij logisch om UIInterfaceOrientationLandscapeRight te vervangen door UIInterfaceOrientationPortrait, waardoor je deze code zou krijgen:
Zo simpel lijkt het niet te zijn. Kan blijkbaar niet 2 maal (bijna)dezelfde code plaatsen , dus een keer met portrait of een keer met landscape. Ik ben nu aan het uitzoeken of het misschien een een if-then else kan.

jonathan 07-10-08 06:38

Ah, jammer.
Wil je eigenlijk dat 'ie automatisch draait (dus zodra je je iPhone draait) of handmatig, met een button o.e.d.?

Probeer dit eens:
Code:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return true;
}

Misschien moet je haakjes gebruiken, zo dus:
Code:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (true);
}

Ik dacht namelijk zo: shouldAutorotateToInterfaceOrientation is of het scherm mee moet draaien met de oriëntatie van de iPhone (letterlijke vertaling: zouAutomatischMoetenRoterenNaarInterfaceOriëntatie). Wat jij doet, is zeggen dat dat mag als de iPhone verticaal is, zo doe je dat: interfaceOrientation == UIInterfaceOrientationLandscapeRight. Stel je geeft nou altijd true terug, dan moet 'ie toch altijd roteren?

Je kan ook een variant nemen, namelijk alleen roteren als de iPhone portrait of landscape is. In de praktijk zal dit hetzelfde zijn, maar misschien vind je het netter. Waarschijnlijk moet je dat dan zo doen:
Code:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationPortrait);
}


macfreaker 07-10-08 12:41

Moest dus automatisch meedraaien.
bedankt ! De eerste code doet perfect wat ik wil moet alleen nog wanneer ik draai mijn label en textfield in het midden krijgen. Maar dat vind ik wel.

JWVD 07-10-08 13:00

Gewoon even aanpassen in Interface Builder :)

gekkepietje 07-10-08 14:08

Volgens mij staat dit ook uitgelegd in de iPhone Developers Guide (of hoe heet ie) die je van de iPhone developer site kunt downloaden. Sowieso wel goed om die eens te lezen. :)


Alle tijden zijn GMT +2. Het is nu 02:24.