你怎么能为UIButton和旋转文字UILabel?90度,180度.
注意:在将此标记为重复之前,我有意将我的问题建模为此问题的Swift版本:如何在Objective-C中为UIButton和UILabel旋转文本?
目标是拥有如下所示的东西:
我知道.rotationEffect()以及此处提供的解决方案。
然而,这个解决方案的问题是它不旋转框架,它只旋转文本本身。
下图来自 Xcode 中的 Canvas 预览及其下面的代码。
HStack(spacing: 10) {
Text("Distance")
.rotationEffect(.degrees(270))
.foregroundColor(.black)
.minimumScaleFactor(0.01)
Rectangle()
.foregroundColor(.black)
.frame(width: 3)
.padding([.top, .bottom])
Spacer()
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,文本超出了框架,框架保持其原始宽度,这使得文本很难紧贴视图的一侧,也很难让垂直线紧贴文本的一侧。
我能够弄清楚如何获得所需结果的唯一方法是使用修饰符.offset(x:)。但这感觉很混乱,并且我认为可能会导致错误。
有什么办法可以让框架随着文字一起旋转吗?
swift ×2
ios ×1
rotation ×1
swiftui ×1
swiftui-text ×1
swiftui-view ×1
uibutton ×1
uilabel ×1
xcode ×1