SwiftUI3.0 Text的控件的使用 相当于UILabel

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了SwiftUI3.0 Text的控件的使用 相当于UILabel脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
//
//  ContentView.swift
//  TextControl
//
//  Created by lujun on 2021/12/19.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        //        basic
//        customFont
        ScrollView(.vertical, showsIndicators: true) {
//            textFit
            formatDisPlay
//            otherStyle
//            combineText
           // localizedStr
            
        }
    }
    
    //MARK: - Basic
    var basic: some View {
        VStack {
            Text("Hello")
            Text("Hello")
                .foregroundColor(.red)
            Text("Hello")
                .font(.title)
            Text("Hello")
                .font(.title)
                .italic()
                .bold()
        }
    }
    
    //MARK: - customFont
    var customFont: some View {
        VStack {
            Text("Hello")
                .font(.system(size: 30, weight: .light, design: .serif))
            Text("Hello")
                .font(.system(size: 30, weight: .bold, design: .monospaced))
            Text("小孙")
                .font(.custom("font twelve", size: 25))
            
            
        }
        
    }
    
    
    //MARK: - TextFit
    @State private var myTextField = ""
    var textFit: some View {
        VStack {
            Text("To Be, or not to Be sd ree sadf weq:")
                .frame(width: 100)
            Text("To Be, or not to Be sd ree sadf weq:")
                .frame(width: 100)
                .lineLimit(1)
            Text("To Be, or not to Be Be sd ree sadf")
                .font(.body)
                .frame(width: 200,height: 50,alignment: .leading)
                .lineLimit(1)
                .allowsTightening(true)
            Text("To Be, or not to Be Be sd ree sadf")
                .font(.body)
                .frame(width: 200,height: 50,alignment: .leading)
                .lineLimit(1)
                .allowsTightening(false)
            HStack {
                Text("To Be, or not to Be Be sd ree sadf")
                    .lineLimit(1)
                    .minimumScaleFactor(0.5)
                  TextField("My Long Text Field",text: $myTextField)
            }
            VStack {
                Text("To Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadf")
                    .frame(width: 150, height: 150)
                    .truncationMode(.tail)
                Text("To Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadf")
                    .frame(width: 150, height: 150)
                    .truncationMode(.head)
                Text("To Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadfTo Be, or not to Be Be sd ree sadf")
                    .frame(width: 150, height: 150)
                    .truncationMode(.middle)
                
            }
            
        }
    }
    
    
    //MARK: - 日期格式化输出
    let price = 10.341477878
    let startDate = Date(timeIntervalSinceNow: -3600)
    var formatDisPlay: some View {
        VStack {
            Text("$(price,specifier: "%.2f")")
            Text(startDate,style: .time)
            Text(startDate,style: .date)
            Text(startDate,style: .relative)
            Text(startDate,style: .offset)
            Text(startDate,style: .timer)
            Text(startDate...Date())
            Text(DateInterval(start: startDate, duration: 300))
        }
    }
    
    //MARK: - 其他样式
    var otherStyle: some View {
        VStack(spacing: 20) {
            Text("Hello")
                .font(.largeTitle)
                .strikethrough(true, color: .red)
            Text("Hello")
                .font(.largeTitle)
                .underline(true, color: .red)
            
            
            HStack {
                VStack(alignment: .leading) {
                    Text("ABCDEFGH")
                        .kerning(-3)
                    Text("ABCDEFGH")
                    Text("ABCDEFGH")
                        .kerning(3)
                }
                Spacer()
                VStack(alignment: .leading) {
                    Text("ABCDEFGH")
                        .tracking(-3)
                    Text("ABCDEFGH")
                    Text("ABCDEFGH")
                        .tracking(3)
                }
             }
            .padding(.horizontal,60)
            HStack (alignment: .top) {
                Text("Hello")
                    .baselineOffset(-10)
                    .border(Color.red)
                Text("Hello")
                    .border(Color.green)
                Text("Hello")
                    .baselineOffset(10)
                    .border(Color.blue)
            }
            .background(Color(white: 0.9))
            Text("Head")
                .textCase(.uppercase)
            Text("delivery on eligible Apple products in most metros. Offer is not available on customized Mac, engraved products, and for certain order types including orders paid for with financing or by bank transfer. Delivery times vary according to your selected delivery address, availability of your items, and the time of day you place your order. Find a store to view local store hours or see checkout for estimated delivery. A signature is required for delivery. Drivers may ask for verbal confirmation of receipt from a safe distance to satisfy the signature requirement")
                .frame(width: 200, height: 200, alignment: .leading)
                .lineSpacing(10)
                .background(Color.gray)
            Text("delivery on eligible Apple products in most metros. Offer is not available on customized Mac, engraved products, and for certain order types including orders paid for with financing or by bank transfer. Delivery times vary according to your selected delivery address, availability of your items, and the time of day you place your order. Find a store to view local store hours or see checkout for estimated delivery. A signature is required for delivery. Drivers may ask for verbal confirmation of receipt from a safe distance to satisfy the signature requirement")
                .frame(width: 200, height: 200, alignment: .leading)
                .multilineTextAlignment(.center)
            Text("hello world")
                .flipsForRightToLeftLayoutDirection(true)
                .environment(.layoutDirection, .rightToLeft)
                
            
        }
    }
    
    //MARK: - 富文本
    var combineText: some View {
        Text("鲁军")
            .foregroundColor(.red)
            .font(.title)
        +
        Text("给科技加点料")
            .foregroundColor(.green)
            .font(.title)
            .italic()
    }
    
    
    //MARK: - 本地化
    
    var localizedStr: some View {
        VStack {
            Text("pencil")
            Text(verbatim: "pencil")
            Text(LocalizedStringKey("pencil"))
        }
    }
    
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的SwiftUI3.0 Text的控件的使用 相当于UILabel全部内容,希望文章能够帮你解决SwiftUI3.0 Text的控件的使用 相当于UILabel所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: