如何在SwiftUI中创建指数

3

我在SwiftUI中发现了一种新的方法,可以让你创建一个指数。

下面是我在Swift Playground中基于SwiftUI编写的代码。

import SwiftUI
import PlaygroundSupport

struct V: View {

    var body: some View { 

        HStack {

            Text("8")
            Text("2\n").font(Font.system(size: 10))

            }

        } 


}

PlaygroundPage.current.setLiveView(V())

\n可以让您在UIKit中换行并创建新行。然而,在SwiftUI中,您可以在第二个Text中创建一个顶部的换行和新行。您可以为Text中的字体设置大小。

enter image description here

就是这样!您已经在SwiftUI中制作了指数!


3
你似乎已经提供了一个答案。你应该编辑你的问题,使其看起来像一个问题,然后单独发布一个答案。 - Sweeper
1个回答

9
以下的方式看起来更自然......作为变种。 enter image description here
var body: some View {
    Text("8") + Text("2").font(.system(.footnote))
                  .baselineOffset(UIFont.systemFontSize * 2 / 3)
}

使用静态函数 + (lhs: Text, rhs: Text) -> Text 是正确的方式,不仅看起来更好,而且不会改变结果的类型。 - user3441734
.baselineOffset中的值不会始终为10;它将取决于文本的字体大小。 - RPatel99
@RPatel99,当然你是对的,这只是为了演示简单而设置的,实际项目中可以根据需求进行计算,比如 UIFont.systemFontSize * 2 / 3 等等。 - Asperi
1
@Asperi,是的,我只是想提一下,因为很多人都会复制粘贴Stack Overflow上的答案。 - RPatel99

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接