iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Mobile Development

SwiftUI 男孩系列 第 11

Day 11 : SwiftUI List (下)

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230926/20130138ewaynZDiBj.jpg

Photo by Asap PANG on Unsplash

UIKit UITableViewCell → SwiftUI List Row

List ForEach + HStack 組合技

List {
    ForEach(1..<5) { index in
                
        HStack {
            Image("photo-\(index)")
                .resizable()
                .scaledToFill()
                .frame(width: 100, height: 50)
                .cornerRadius(10)

            Text("Photo #\(index)")
                .bold()
            }
        }
    .listRowSeparatorTint(.blue)
}

https://ithelp.ithome.com.tw/upload/images/20230926/20130138ObsLgZ0Q9o.png

在 List Row 創建客製化滑動操作

HStack {
/.../
}
.swipeActions {
    Button {
         print("Mark as favorite")
    } label: {
         Label("Favorite", systemImage: "star")
    }
    .tint(.yellow)
                    
    Button {
        print("Delete")
    } label: {
        Label("Delete", systemImage: "trash")
    }
    .tint(.red)
}

https://ithelp.ithome.com.tw/upload/images/20230926/20130138ncDmQp38QX.png

新增兩個滑動按鈕,向左滑動一個 Row,會顯示出來。touch Button , console log 還有互動!


新功能我要往右滑呢?

HStack {
/ ... /
}
.swipeActions(edge: .trailing) {
    Button {
        print("Mark as favorite")
    } label: {
        Label("Favorite", systemImage: "star")
    }
    .tint(.yellow)
                    
    Button {
        print("Delete")
    } label: {
        Label("Delete", systemImage: "trash")
    }
    .tint(.red)
}
.swipeActions(edge: .leading) {
    Button {
        print("Share")
    } label: {
        Label("Share", systemImage: "square.and.arrow.up")
    }
    .tint(.green)
}

( 筆記

// 往右滑
.swipeActions(edge: .leading) 

// 往左滑
.swipeActions(edge: .trailing) 

往上滑,往下滑呢?

沒有,這是 Scroll View


上一篇
Day 10 : SwiftUI List (上)
下一篇
Day 12 : Mac M系列遇到 Ruby 坑 (回憶篇
系列文
SwiftUI 男孩30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言