gpt4 book ai didi

ios - 变换使尺寸不同

转载 作者:行者123 更新时间:2023-11-29 00:49:55 25 4
gpt4 key购买 nike

我有一个旋转盒子的函数,效果很好。当用户完成旋转后,我想让父 View 适合旋转的框,但它完全不成比例,我不明白为什么,因为我只是交换旋转 View 和父 View 之间的尺寸和属性.

旋转:

func rotateThisView(gesture : UIRotationGestureRecognizer){
if activated {
if gesture.state == .Began || gesture.state == .Changed {
wrapView.transform = CGAffineTransformRotate(wrapView.transform, gesture.rotation)
gesture.rotation = 0
}
}
}

如上所述,这工作正常,但是当用户完成编辑(旋转)时,我运行此函数:

    wrapPoints = wrapView.center
wrapDimensions = wrapView.frame
wrapRotation = wrapView.transform

print(wrapPoints, wrapDimensions, wrapRotation)
wrapView.frame = CGRect(x: 0, y: 0, width: wrapDimensions.width, height: wrapDimensions.height)
wrapView.transform = CGAffineTransformIdentity
wrapView.center = center

frame = CGRect(x: 0, y: 0, width: wrapDimensions.width, height: wrapDimensions.height)
center = wrapPoints
transform = wrapRotation

这就是一切变得不成比例的地方。我提供了两个屏幕截图来显示发生的情况。父 View 变大,旋转后的 View 变得异常大。

enter image description here enter image description here

希望有人能帮助我。

最佳答案

你应该用 wrapView.transform = CGAffineTransformIdentity的位置

            wrapView.transform = CGAffineTransformIdentity
wrapView.frame = CGRect(x: 0, y: 0, width: wrapDimensions.width, height: wrapDimensions.height)
wrapView.center = center

关于ios - 变换使尺寸不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38261326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com