Mic*_*urn 12 animation text clipping swiftui
在以下示例中,点击“展开”按钮会导致文本“39”在调整大小过渡到“40”时进行剪辑。这种用途的真实上下文是一个文本标签,它反映了动画图中选择器的值。我希望文本只占用它所需的空间,但在值之间动画时不会剪切。
禁用标签的动画不是一个选项,因为标签在我的图表中的位置也会有动画。
再生产:
import SwiftUI
struct TextClipping: View {
enum ExpansionState {
case expanded
case contracted
mutating func toggle() {
switch self {
case .expanded:
self = .contracted
case .contracted:
self = .expanded
}
}
}
@State var expansion: ExpansionState = .contracted
var text: String {
switch expansion {
case .expanded:
return "40"
case .contracted:
return "39"
}
}
var body: some View {
VStack(spacing: 16) {
Text(text)
.font(.system(.title, design: .rounded))
.fontWeight(.bold)
.foregroundColor(.black)
Button(self.expansion == .contracted ? "Expand" : "Contract") {
withAnimation {
self.expansion.toggle()
}
}
}
}
}
struct TextClipping_Previews: PreviewProvider {
static var previews: some View {
TextClipping()
}
}
Run Code Online (Sandbox Code Playgroud)
关于如何让标签的文本流畅地改变而不被剪裁,有什么想法吗?
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |