Ich versuche, ein Video zu drehen und größer zu skalieren, wenn der Benutzer den Bildschirm in Querformat dreht.Mit CGAfflineTransformMakeScale/Rotation wird nur eine Aktion ausgeführt
- (void) orientationChanged:(NSNotification *)note
{
bool switchedLeft;
UIDevice * device = note.object;
switch(device.orientation)
{
case UIDeviceOrientationPortrait:
self.videoView.transform=CGAffineTransformMakeScale(0.5,0.5);
if (switchedLeft) {
self.videoView.transform=CGAffineTransformMakeRotation(-M_PI_2);
}else{
self.videoView.transform=CGAffineTransformMakeRotation(M_PI_2);
}
break;
case UIDeviceOrientationLandscapeLeft:
self.videoView.transform=CGAffineTransformMakeRotation(M_PI_2);
self.videoView.transform=CGAffineTransformMakeScale(2.0, 2.0);
switchedLeft=true;
break;
case UIDeviceOrientationLandscapeRight:
self.videoView.transform=CGAffineTransformMakeRotation(-M_PI_2);
self.videoView.transform=CGAffineTransformMakeScale(2.0, 2.0);
switchedLeft=false;
break;
default:
break;
};
}
Es gibt eine Reihe von Problemen. Erstens, wenn ich anfange, in die Landschaft zu rotieren, macht es nur eine Transformation, in dieser Konfiguration skaliert es es einfach.
Das zweite Problem ist, wenn ich zum Hochformat rotiere, ruft es für die Rotation auf, aber es dreht sich nie. Allerdings kann ich zwischen Landschaft links und Landschaft rechts hin und her gehen und es dreht sich richtig. Jede mögliche Hilfe würde sehr geschätzt werden