Ipad / Iphone - поворот в UIView с изображениями все - PullRequest
3 голосов
/ 07 декабря 2010

Как вращать UIView с полным содержанием.У меня проблема с ротацией UIViews.Может кто-нибудь мне помочь???пожалуйста, дайте мне как с пошаговым примером.

Ответы [ 2 ]

3 голосов
/ 07 декабря 2010

Это довольно просто:

myUIView.transform = CGAffineTransformMakeRotation(M_PI * 0.5); 

Это повернёт все на 90 градусов вправо, содержимое и всё. Аргумент CGAffineTransformMakeRotation в радианах ...

1 голос
/ 17 декабря 2010

Привет большое спасибо за ваш ответ. Вещи, связанные с вращением, решены, но все же у меня мало проблем в ландшафтном режиме. Я использую этот код для анимации двух UIViews, но в ландшафтном режиме одно представление не появляется, я хочу идеальное решение для этого.

Код вращения, который я сейчас использую ...

- (void)viewDidLoad 
{

    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:)   name:UIDeviceOrientationDidChangeNotification object:nil];

}


- (void)didRotate:(NSNotification *)notification {

    UIDeviceOrientation orientation = [[notification object] orientation];

    if (orientation == UIDeviceOrientationLandscapeLeft) 
    {

        CGRect contentRect = CGRectMake(0,0, 1024, 748);
        self.view.bounds = contentRect;
        [self.view setTransform:CGAffineTransformMakeRotation(M_PI / 2.0)];
    } 
    else if (orientation == UIDeviceOrientationLandscapeRight) 
    {

        CGRect contentRect = CGRectMake(0,0, 1024, 748);
        self.view.bounds = contentRect; 


        [self.view setTransform:CGAffineTransformMakeRotation(M_PI / -2.0)];
    }

    else if (orientation == UIDeviceOrientationPortraitUpsideDown) 
    {

        CGRect contentRect = CGRectMake(0,0, 768, 1024);
        self.view.bounds = contentRect;
        [self.view setTransform:CGAffineTransformMakeRotation(M_PI)];
    } 
    else if (orientation == UIDeviceOrientationPortrait) {

        CGRect contentRect = CGRectMake(0,0, 768, 1024);
        self.view.bounds = contentRect;
        [self.view setTransform:CGAffineTransformMakeRotation(0.0)];
    }


}

Код аминирования UIView.

self.loginView.hidden=NO;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
self.AcTypeView.transform=CGAffineTransformMakeTranslation(0, 493);
[UIView commitAnimations];



[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];

self.loginView.transform=CGAffineTransformMakeTranslation(0, -700);
[UIView commitAnimations];




Thanks!!!!
...