1

关于: iOS 5 & 6. CGAffineTransformationMake

我有:一个 UILabel 和一个 UIImage

我想做的事:我正在尝试创建一张翻转卡。当我点击 UIImage 时,它​​应该水平翻转并隐藏并且 UILabel 应该出现。几乎就像水平翻转棒球卡一样,正面有图像,背面有文字。当您点击 UILabel 时,它会以相同的方式翻转显示 UIImage。

问题是什么:我的代码在 iOS 6 上表现完美,但在 iOS 5 上转换看起来很奇怪。在 iOS 6 上,图像水平翻转以隐藏自身并显示文本。点击 uilabel 翻转文本以隐藏它并显示图像。奇迹般有效。但是当我在 iOS 5 上运行它时,点击图像时,文本会从屏幕底部以 180 度旋转出现,并带有螺旋运动。

我不想UIView transitionFromView: toView: duration: options: completion:^(bool)仅仅因为还有一些其他不相关的问题与之相关,这是另一个线程的讨论。

代码片段的详细信息: 我的 UILabel 最初具有以下转换:

self.myLabel.transform = CGAffineTransformMake(0, 0, 0, 1, 0, 0);

点击 UIImage 或 UILabel 调用以下方法

- (IBAction)flipImage:(id)sender {

    if(flipped == 0) {
            [UIView animateWithDuration:0.5
                          delay:0.0
                        options: UIViewAnimationCurveEaseIn
                        animations:^{

                             self.myImage.transform = CGAffineTransformMake(0, 0, 0, 1, 0, 0);
                             self.myLabel.transform = CGAffineTransformMake(1, 0, 0, 1, 0, 0);

                             flipped = 1;
                          } 
                             completion:^(BOOL finished){
                                 NSLog(@"Flipped!");
                          }];
    } else {
        [UIView animateWithDuration:0.5
                              delay:0.0
                            options: UIViewAnimationCurveEaseOut
                         animations:^{
                             self.myLabel.transform = CGAffineTransformMake(0, 0, 0, 1, 0, 0);
                             self.myImage.transform = CGAffineTransformMake(1, 0, 0, 1, 0, 0);
                             flipped = 0;
                         }
                         completion:^(BOOL finished){
                             NSLog(@"Flipped!");
                         }];
      }
}

有什么帮助吗?

4

0 回答 0