3

ビューコントローラーに UITableView があり、ビューコントローラーの中央でズームアウトしたい。次のコードのように ios7 で正常に動作します。

CGSize appSize = [[UIScreen mainScreen] applicationFrame].size;
CGAffineTransform affineMatrix = CGAffineTransformMakeTranslation(appSize.width/2, 20);
affineMatrix = CGAffineTransformScale(affineMatrix, 0.5, 0.5);
self.transform = affineMatrix;

ios8 にアップデートした後、コードは次のように正常に動作する可能性がありますが、ios7 では動作しませんでした:

CGAffineTransform affineMatrix = CGAffineTransformMakeScale(0.5, 0.5);
affineMatrix = CGAffineTransformConcat(affineMatrix,CGAffineTransformMakeTranslation(0, -appSize.height/2+40));
self.transform = affineMatrix;

誰が理由を説明できますか? 同じコードで正常に動作するにはどうすればよいですか?

4

1 に答える 1

0

記事を参照してくださいhttp://revealapp.com/blog/constraints-and-transforms.html

iOS7のアフィン変換バグの問題点を解説しています。簡単に言うと、iOS 7 の Retina デバイスでは、ポイントを手動でピクセルに変換する必要があります。[UIScreen mainScreen].scale

于 2015-09-18T17:10:25.197 に答える