• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Anfängerfrage: Rotation und Repositionierung von UI-Elementen

souljumper

Roter Delicious
Registriert
07.10.08
Beiträge
90
Hallo,

ich lese mir grad ein Buch zur iPhone Programmierung durch. Da hab ich ein Beispiel wo sechs-Buttons per Hand (über Programmcode) neu positioniert werden sollen.

Dafür ist im Buch dieses Code-Schnipssel drin
Code:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    NSLog(@"Blub");
    if (toInterfaceOrientation == UIInterfaceOrientationPortrait ||
        toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    {
        NSLog(@"true");
        [button1 setFrame:CGRectMake(20 ,  20, 125, 125)];
        [button2 setFrame:CGRectMake(175,  20, 125, 125)];
        [button3 setFrame:CGRectMake(20 , 168, 125, 125)];
        [button4 setFrame:CGRectMake(175, 168, 125, 125)];
        [button5 setFrame:CGRectMake(20 , 315, 125, 125)];
        [button6 setFrame:CGRectMake(175, 315, 125, 125)];
    }
    else {
        NSLog(@"false");
        [button1 setFrame:CGRectMake(20 ,  20, 125, 125)];
        [button2 setFrame:CGRectMake(20 , 155, 125, 125)];
        [button3 setFrame:CGRectMake(177,  20, 125, 125)];
        [button4 setFrame:CGRectMake(175, 155, 125, 125)];
        [button5 setFrame:CGRectMake(328,  20, 125, 125)];
        [button6 setFrame:CGRectMake(328, 155, 125, 125)];

    }

        
}

Der Code wird aufgerufen beim ausführen, aber die Buttons positionieren sich nicht neu, und ich kann nicht wirklich nachvollziehen warum das so ist. Ds ganze ist ein praktisch leeres Single-View Projekt mit 6 Buttons drin die über Programmcode neu positioniert werden sollen. Egal welche Werte ich Eingebe, die über setFrame gemachten Angaben funktionieren nicht - kann mir wer sagen woran das liegt?
 
Aber das View dreht sich? Das ist nämlich standardmässig bei neuen iOS Projekten ausgeschaltet. Ich glaube, du musst nur irgendwo die Kommentare in der Application Delegate wegnehmen.

Wenn ja, ganzes Projekt posten, bitte. Ohne den build-Ordner.

Gruss ppocket
 
ich hoffe du drehst dein iPhone auch ;) Wenn es daran nicht liegt, dann musst du wie ppocket schon sagte, die Rotation überhaupt erst aktivieren
 
.

Hast Du:
Code:
- (BOOL) shouldAutorotateToInterfaceOrientation : (UIInterfaceOrientation) interfaceOrientation
implementiert?

Trivial einfach ein YES zurückgeben.