• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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?
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
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
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
ich hoffe du drehst dein iPhone auch ;) Wenn es daran nicht liegt, dann musst du wie ppocket schon sagte, die Rotation überhaupt erst aktivieren
 

ifthenelse

Fießers Erstling
Registriert
07.12.06
Beiträge
129
.

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

Trivial einfach ein YES zurückgeben.