関連: iOS 5 & 6. CGAffineTransformationMake
私が持っているもの: 1 つの UILabel と 1 つの 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!");
}];
}
}
何か助けはありますか?