Swift 3:图像返回原始大小或旋转后变换

时间:2017-05-15 04:21:20

标签: ios swift3 uiimageview rotation cgaffinetransform

我有图像查看里面的大图像,因为我使用
旋转它 CGAffineTransform(),它被重新调整为原始变换或大小,仍然无法解决这个问题。

需要的工作方案是:

我希望将图像视图缩放到其原始大小的%35,然后能够以编程方式旋转它而不更改其大小。我怎样才能做到这一点?

编辑:

完整的场景是,我有大型Imageview(让我们称之为主视图),上面提到的图像视图(sub)作为其子视图。

我缩放(主要)0.5,它也缩放(子),之后我缩放(子)0.35,所以当我旋转时,每次都很难缩放。这就是为什么我想要一种无需再缩放的旋转方式。

1 个答案:

答案 0 :(得分:0)

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
var t = CGAffineTransform.identity
t = t.scaledBy(x: 0.35, y: 0.35)//35% of size
//You can change alter this t value any way you want.
t = t.rotated(by: CGFloat.pi / 4)//Random value, change to your wanted value
//And then just set it
imageView.transform = t

编辑: 这段代码有效。现在重新测试了。你确定你正确使用它? 刚刚开始测试它。

var t = CGAffineTransform.identity
var imageView = UIImageView()

func scaleImage() {
    t = t.scaledBy(x: 0.35, y: 0.35)//35% of size
    imageView.transform = t
}
func rotateImage() {
    t = t.rotated(by: CGFloat.pi / 4)//Random value, change to your wanted value
    imageView.transform = t
}