如何将文本旋转UIButton度和UILabel度?90度,180度.

Note:在您将此问题标记为重复之前,我有意将我的问题建模为此问题的SWIFT版本:How can you rotate text for UIButton and UILabel in Objective-C?

推荐答案

我把我的答案放在与this answer相似的格式中.

以下是原始标签:

在此处输入图像描述

顺时针旋转90度:

yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)

在此处输入图像描述

旋转180度:

yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi)

在此处输入图像描述

逆时针旋转90度:

yourLabelName.transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2)

在此处输入图像描述

旋转按钮时执行相同的操作.值得庆幸的是,touch 事件也会旋转,因此按钮在新的范围内仍然可以点击,而不需要做任何额外的操作.

yourButtonName.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)

Notes:

适用于CGAffineTransform人的文档

基本格式是CGAffineTransform(rotationAngle: CGFloat),其中rotationAngle是弧度,而不是度.

在一个完整的圆(360度)中有2个π弧度.SWIFT包含有用的常量CGFloat.pi.

  • CGFloat.pi=π=180度
  • CGFloat.pi / 2=π/2=90度

Auto Layout:

自动布局不适用于旋转视图.(有关原因的解释,请参见Frame vs Bounds.)这个问题可以通过创建自定义视图来解决.This answer显示了如何为UITextView执行此操作,但它与标签或按钮的基本概念相同.(请注意,您必须删除该答案中的第CGAffineTransformScale行,因为您不需要镜像文本.)

Related

Ios相关问答推荐

如何调整包含extView的UICollectionViewListCell的大小?

滚动时突出显示工具栏项目

OnTapGesture在其修改的视图外部触发

Flutter 翼项目.升级到XCode 15.0.1`pod install`抛出错误FlutterMacOS.podspec.json 3.13.2的ParserError

RFID scanner 的蓝牙服务 UUID?

如何链式设置 AttributeContainer 的 UIKit 属性?

Flutter动画放大图

CoreML 不能并发(多线程)工作?

为 ColorPicker 创建一个名为 Color 的计算变量的绑定

将角半径仅应用于 Swiftui 中按钮的两个角

如何让我的 iOS 应用程序与 api 连接?

如何从 scendelegate 打开我的标签栏控制器

UILabel - 字符串作为文本和链接

ios 崩溃 EXC_BAD_ACCESS KERN_INVALID_ADDRESS

Xcode 缺少支持文件 iOS 12.2 (16E227)

是否可以使用 sharedHTTPCookieStorage 为 UIWebView 手动设置 cookie?

NSPredicate 用于测试 NULL 和空白字符串

核心数据 - 无法在路径加载优化模型

如何计算 Swift 数组中元素的出现次数?

在转发类对象中找不到属性