iPhone iOS, как перевернуть / отразить любой UIView на месте?

Я знаю, как переворачивать / отражать / вращать UIImage, перерисовывая его в пределах его границ.

- (IBAction)reflectImageView:(UIImageView)imageView {

    UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 0.0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextTranslateCTM(context, 0.0, -imageView.bounds.size.height);


   [imageView.layer renderInContext:context];
    imageView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

}

Но как мне создать «перевернуть / отразить»? эффект для любого UIView, предпочтительно удерживая его центр в том же положении, что и раньше?

Спасибо!

 Ahsan Ebrahim17 июн. 2016 г., 07:59
ваш вопрос мой ответ о том, как повернуть изображение: P спасибо +1

Ответы на вопрос(2)

Вы можете сделать & quot; скриншот & quot; любого просмотра по

UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

а затем переверните UIImage и добавьте UIImageView с результирующим изображением под представлением.

 Alex Stone21 мая 2012 г., 16:09
Я бы хотел, чтобы пользователь продолжал взаимодействовать с представлением, даже если оно отражено. Отображение UIImageView вместо обычного представления является опцией, но это может потребовать слишком большого обучения пользователя относительно того, когда представление является «реальным». и когда это "изображение"
 02 февр. 2016 г., 23:26
Какой отличный фрагмент! Все еще работать как шарм 4 года спустя
Решение Вопроса
 [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.75];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.activeView cache:YES];
    //        [self.activeView removeFromSuperview];
    [UIView commitAnimations];

    NSNumber* isReflected = [self.activeView.attributedView.attributes valueForKey:kIsReflected];
    if(isReflected.boolValue)
    {
        self.activeView.transform = CGAffineTransformMakeScale(1,1);
        [self.activeView.attributedView.attributes setValue: [NSNumber numberWithBool:NO]  forKey:kIsReflected];
    }else {
        //do reflection
        self.activeView.transform = CGAffineTransformMakeScale(-1,1);
        [self.activeView.attributedView.attributes setValue: [NSNumber numberWithBool:YES]  forKey:kIsReflected];
    }

я анимации различного типа.

 Alex Stone21 мая 2012 г., 16:08
Это проигрывает анимацию, но вид остается прежним. Если я удалю вид из суперпредставления, на его месте ничего не останется. Анимация очень классная, но мне нужно на самом деле отобразить зеркальное отображение вида

Ваш ответ на вопрос