ios - CGAffineTransform 缩放 subview 问题

标签 ios objective-c swift user-interface

有没有一种简单的方法可以告诉 CGAffineTransform 不要缩放缩放 View 的 subview 的帧? view.autoResizeMask = false 在这种情况下似乎不起作用。唯一有点“工作”的是反转 subview 的转换,例如

for subview in view.subviews {
    (subview as! UIView).transform = CGAffineTransformInvert(view.transform)
}

但是,这需要比计算时间长 10 倍的时间,而且不够灵活。有人知道任何其他更有效的方法来缩放帧的起源,但没有它们的边界吗?

最佳答案

据我了解,这就是转换的工作原理。听起来您可能会更好地使用不缩放 super View 的设计,尽管您缩放 subview 的解决方案非常聪明。 :)

您至少可以始终缓存反转变换以节省一些计算:

let inverse = CGAffineTransformInvert( view.transform )
for subview in view.subviews {
   (subview as! UIView).transform = inverse
}

关于ios - CGAffineTransform 缩放 subview 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687705/

相关文章:

ios - 使用 swift 将视频剪辑嵌入到应用程序中

ios - 核心数据对象唯一ID

objective-c - NSTableView 如何通过绑定(bind)修改 NSArrayController 的选择?

ios - 在 VC 堆栈中快速移动 UIButton

ios - 在 Swift 代码中存储开发者的消费者 secret 是否安全?

ios - 从 nsdictionary 填充 uitableview

ios - 按 UITableViewCell 时执行某些操作

ios - 为 iOS 应用程序创建数据库

ios - 如何检查是否有 Chartboost 奖励广告可供展示?

sql-server - 如何用swift连接sql server