ios - 在swift ios中将视图旋转角度重置为零
问题描述
我能够将 UIView 旋转 90 度并且还能够获得旋转角度。
需要实现--->将 myView 旋转角度值重置为 0,但视图位置/方向不应转到 UI 上的先前旋转/位置值,然后如果我旋转它必须从相同的位置/方向开始旋转,并且它的旋转角度需要从0开始。
这是实现代码
@IBOutlet weak var myView: UIView!
@IBAction func rotateBtn(_ sender: Any) {
myView.transform = myView.transform.rotated(by: .pi/2)
getRotateAngles()
}
func getRotateAngles() {
let radians = atan2(myView.transform.b, myView.transform.a)
var degrees = radians * 180 / .pi
degrees.round()
let realDegrees = degrees >= 0 ? abs(degrees) : 360 + degrees
print("Degrees:: \(realDegrees)")
}
@IBAction func saveTapped(_ sender: Any) {
myView.transform = .identity //need to implement--->reset myView rotation angle value to 0 but view position/direction should not go previous rotation value on UI and then if i rotate it has to start rotate from same position/direction and it's rotation angle need to start from 0.
}
在这里,我可以打印 0、90、180、270、0 的视图旋转度数.....
点击保存时如何将视图旋转值重置为 0。
如果视图旋转 90 度并点击保存视图,则进入 UI 部分将在 UI 上相同,但度数值应从 0 开始。
如果我保持转换身份 myView 正在改变它在 UI 上的位置,这就是问题所在。我不想改变它在 UI 上的位置/位置,但是当 saveTapped 时只有视图度数应该从 0 开始。
例如:我旋转了视图,它给出了度数 0、90、180、270、0... 要求是我旋转了视图,它打印了度数 90。 saveTapped 然后 myView 应该在相同的位置/相同的位置,UI 上没有变化。现在,当我再次旋转时,它必须打印度数 0、90、180、270、0....但在这种情况下 saveTapped 并且视图已经旋转了 90 度
提前致谢。
解决方案
推荐阅读
- javascript - 当特定单元格包含 0 时以编程方式为行着色
- reactjs - 如何在反应中观察渲染函数之外的mobx observables?
- python - 如何使用 Selenium 单击此按钮?
- javascript - CucumberJS 控制台输出 Given,When,Then 运行时的测试步骤
- c++ - CMAKE:“找不到 CMAKE_CXX_COMPILER。”
- firebase - 如何查询具有字段值包含在列表中的文档的 Firestore 集合
- terraform - 如何将用户名和密码通过管道传输到另一个将要执行的命令(BASH)?
- npm - 为什么我的项目需要多个 npmrc 注册表,而工件已经包含它们作为上游源?
- ios - iOS 相当于 Java/Swing 的 FlowLayout 是什么?
- r - 如何从 R 中的数据框中生成包含数据的 QR 码?