ios - 如何同时翻转和旋转标签?
问题描述
所以我已经在这个项目上工作了一段时间,它需要我旋转和翻转标签。
这是我所拥有的:
@IBAction func Flip(_ sender: Any) {
UIView.animate(withDuration: 2.0,animations: {
self.timeLabel.transform = CGAffineTransform(scaleX: -1, y: 1)
self.timeLabel.transform = CGAffineTransform(rotationAngle: (-90 * .pi / 180.0)
当我点击“翻转”按钮时,我希望标签翻转(镜像)然后旋转,但模拟器中的结果只是旋转,而不是翻转。
如果有人可以为我重写这段代码,这样它就可以两者兼得,那就太好了。我很新,似乎这个项目需要一段时间。
解决方案
正如@rmaddy 建议的那样,分别准备两个转换,将它们连接在一起最终创建一个转换,然后分配它看起来像
let flipping = CGAffineTransform(scaleX: -1, y: 1)
let rotating = CGAffineTransform(rotationAngle: (-90 * .pi / 180.0)
let fullTransformation = flipping.concatenating(rotating)
self.timeLabel.transform = fullTransformation
有关更多信息,请查看https://developer.apple.com/documentation/coregraphics/cgaffinetransform/1455996-concatenatingconcatenating
之后的文档
推荐阅读
- php - 在上传期间调整图像的宽度和高度
- jquery - 使用滚动输入类型编号增量
- javascript - 在给定两个点和第三个点的所需角度(可能还有距离)的情况下绘制第三个点
- spring - Mockito 验证返回错误“参数匹配器的使用无效!预期 1 个匹配器,已记录 3 个”
- c++ - 如何在模板类的方法上使用 std::enable_if 通过专业化单独声明和定义
- go - 在 Web 应用程序中运行计划任务
- reactjs - 无法使用 Draft.js 在反应功能组件中显示链接实体
- android - Kotlin Android - ViewStub 不能为空
- python - 有没有办法通过 Kivy 播放实时音频流?
- javascript - 如果 A 小时在 B 小时和 C 小时之间,如何获得?