美文网首页
SwiftUI学习<三>

SwiftUI学习<三>

作者: 玉思盈蝶 | 来源:发表于2021-02-09 17:44 被阅读0次

    1、Toggle控件:

     // Switch
     Toggle(isOn: .constant(showFavoriteOnly), label: {
        Text("只显示收藏")
    })
    

    2、按钮动画:

    struct HikeView: View {
        @State private var showDetail = false
        
        var body: some View {
            Button(action: {
                self.showDetail.toggle()
            }) {
                Image(systemName: "chevron.right.circle")
                    .imageScale(.large)
                    .rotationEffect(.degrees(showDetail ? 90 : 0))
    //            scaleEffect(showDetail ? 1.5 : 1)
                    .padding()
                    .animation(.spring())
            }
        }
    }
    

    3、设置图片:

    struct Home: View {
        var body: some View {
            NavigationView {
                List {
                    Image(landmarks[0].imageName)
                        .resizable()
                        .scaledToFill()
                        .frame(height: 200)
                        .clipped() // 注意设置的顺序问题
                        .listRowInsets(EdgeInsets()) // 消除间距
                }
            }
        }
    }
    

    4、NavigationBarItem:

    .navigationTitle("精选")
    .navigationBarItems(trailing: Image(systemName: "person.crop.circle")
    .imageScale(.large)
    .padding())
    

    5、SwiftUI单例的使用:

    import Foundation
    
    struct User {
        var username: String
        var preferNotification = true
        var prefersSeason = Season.winter
        var birthday = Date()
        
        // 单例
        static let `default` = Self(username: "思思")
        
        enum Season: String, CaseIterable {
            case spring = "chun"
            case summer = "xia"
            case autumn = "qiu"
            case winter = "dong"
        }
    }
    

    6、日期格式的转换:

    var dateFormatter: DateFormatter {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy年M月d日"
        return dateFormatter
    }
    
    Text("生日: \(dateFormatter.string(from: profile.birthday))")
    Text("生日: \(profile.birthday, formatter: dateFormatter)")
    

    7、SwiftUI转UIViewController:

    var page = UIHostingController(rootView: Image(landmarks[0].imageName))
    

    相关文章

      网友评论

          本文标题:SwiftUI学习<三>

          本文链接:https://www.haomeiwen.com/subject/yujcxltx.html