【问题标题】:How to create an SF Symbol Properly?如何正确创建 SF 符号?
【发布时间】:2020-01-15 03:19:01
【问题描述】:

我正在尝试在我拥有的一段文本旁边放置一个 SF 符号,但是,我得到了错误 Argument type 'Image' does not conform to expected type '_FormatSpecifiable'

我对 Xcode 和 swift UI 还很陌生,因此我将不胜感激。

import SwiftUI


struct HaveACodeButton: View {
    var body: some View {

        //NavigationView {

            NavigationLink(destination: CodeLoginPage()) {

                VStack {

                    Spacer()

                    Text("Have a code?")
                        .padding()
                        .foregroundColor(.blue)
                        .font(.callout)

                    Text("\(Image(uiImage: UIImage(named: "arrow.right.circle")!))")
                }
            }
            .edgesIgnoringSafeArea(.horizontal)


        //}
    }
}

struct HaveACodeButton_Previews: PreviewProvider {
    static var previews: some View {
        HaveACodeButton()
    }
}

【问题讨论】:

    标签: swift xcode swiftui sf-symbols


    【解决方案1】:

    尝试使用Image(systemName: "arrow.right.circle")

    这有点奇怪,但您实际上使用 Image 视图在 iOS 上创建它们。

    在 macOS 上,您可以将符号拖到 Text("") 的引号中,但这需要用户运行 Catalina(我不确定这是否是推荐的方式)。

    【讨论】:

    • 太棒了,谢谢!
    【解决方案2】:

    您收到该错误是因为 Text 没有接受另一个视图的初始化程序..

    如果您想在“有代码?”下放置图片Text 视图,那么您可以将您的VStack 更改为以下内容:

    VStack {
        Spacer()
    
        Text("Have a code?")
            .padding()
            .foregroundColor(.blue)
            .font(.callout)
    
        Image(systemName: "arrow.right.circle")
    }
    

    否则,如果您想将图像放置在“有代码吗?”的右侧Text 视图将上面的VStack 更改为HStack

    【讨论】:

      猜你喜欢
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多