ios8 - CGAffineTransformMakeTranslation 和 CGAffineTransformScale 变换在 ios7 和 ios8 中不同

标签 ios8 zooming cgaffinetransform cgaffinetransformscale

我在 viewcontroller 中有一个 UITableView,想在 viewcontroller 的中心缩小。它在 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;

谁能解释一下为什么?我怎样才能在相同的代码中正常工作?

最佳答案

参见文章 http://revealapp.com/blog/constraints-and-transforms.html

它解释了 iOS7 中仿射变换错误的问题。对于简单的单词,您需要使用 [UIScreen mainScreen].scale

在 iOS 7 的 Retina 设备上手动将点转换为像素

关于ios8 - CGAffineTransformMakeTranslation 和 CGAffineTransformScale 变换在 ios7 和 ios8 中不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26051392/

相关文章:

ios - 设置 PreferredContentSize 在 iOS8 横向 iPhone 的今日小部件中不起作用

ios - 如何将事件名称设置为 os_activity_initiate 中的变量?

jquery - 有谁知道用于嵌入 pdf 对象的 jQuery 放大插件吗?

ios - 在方向更改时手动旋转和调整 UILabel 的大小

ios - 双指缩放 UILabel

ios - 如何在先前转换的 UIView 上正确地动画转换

ios - 如何检测 ios8 自定义键盘扩展是否在非 iphone 6 优化的应用程序中运行?

ios - 本地通知声音不起作用

javascript - 更改大小时,div 内的 map 不响应

html - 调整浏览器大小时,如何摆脱 chrome 中奇怪的过渡移动?