SwiftUI 小demo之List圖文混排趙孟頫書法APP(2020 tutorial)

SwiftUI 小demo之List圖文混排趙孟頫書法APP(2020 tutorial)


實現(xiàn)的功能

  • 自定義一個struct
  • 使用@State 修飾器
  • 使用ForEach循環(huán)顯示
  • 使用Identifiable讓struct獲得唯一編號
  • 自定義func 實現(xiàn)了界面的模塊化
  • 自定義Color set 實現(xiàn)了一個土豪金 steam_gold
  • 設(shè)置了VStack的左對其間隔 VStack(alignment: .leading, spacing: 20)

代碼

import SwiftUI
struct MingHua:Identifiable{
    let id = UUID()
    let name: String
    let img:String
    let overview: String
}
struct ListImageView: View {
    @State var mingHuas:[MingHua] = [
        MingHua(name:"趙孟頫字畫像",img:"zmf_01.jpg",overview: "元代, 趙孟頫作 ,本幅設(shè)色,款“大德已亥子昂自寫小像”對幅宋濂書贊,鈐明項元汴印。"),
        MingHua(name:"趙孟頫秋郊飲馬圖卷",img:"zmf_02.jpg",overview: "元代, 趙孟頫作,本幅右上方自書“秋郊飲馬圖”五字,左上方署款“皇慶元年十一月,子昂”。知此圖為趙孟頫59歲作。"),
        MingHua(name:"趙孟頫水村圖卷",img:"zmf_03.jpg",overview: "元代, 趙孟頫作,本幅款識:“大德六年十一月望日,為錢德鈞作。子昂?!毕骡j“趙氏子昂”朱文印。本幅有清乾隆皇帝詩題兩段,乾隆、嘉慶內(nèi)府藏印及“楞伽真賞”等收藏印26方,半印8方。"),
        MingHua(name:"趙孟頫心經(jīng)墨跡",img:"zmf_04.jpg",overview: "元代, 趙孟頫作,冊《般若波羅蜜多心經(jīng)》是趙孟頫的一件代表作品。它運筆自如,清潤流暢,自成面貌,但細分析起來,卻又感覺它筆筆字字都自有來歷。我們知道,宋代書畫藝術(shù)到南宋末年已走向衰退。馬遠、夏珪末流的畫風,大多空闊粗疏,韻味全無。"),
        MingHua(name:"鵲華秋色圖卷",img:"zmf_05.jpg",overview: "元代, 趙孟頫作,此《鵲華秋色圖》卷由元代畫家趙孟頫繪。此畫是元貞元年他自濟南路職位南返后,為友人周密描繪其祖籍地貌景色之作。描繪的是濟南東北華不注山和鵲山一帶秋景,畫境清曠恬淡,表現(xiàn)出恬靜而悠閑的田園風味。作品采用平遠構(gòu)圖,再以多種色彩調(diào)合渲染,虛實相生,筆法瀟酒,富有節(jié)奏感。此卷現(xiàn)藏于臺北故宮博物院。")
    ]
    var body: some View {
        List{
            ForEach(self.mingHuas){mingHua in
                self.makeRow(mingHua: mingHua)
            }
           
        }
    }
    func makeRow(mingHua:MingHua) -> some View{
        HStack{
            Image(uiImage: UIImage(imageLiteralResourceName: mingHua.img))
                .resizable()
                .aspectRatio(1, contentMode: .fit)
                .frame(height: 120)
                .cornerRadius(20)
                .shadow(radius: 10)
            VStack(alignment: .leading, spacing: 20){
                Text(mingHua.name)
                    .foregroundColor(.steam_gold)
                    .bold()
                    .font(.system(size: 20))
                .padding(EdgeInsets(top: 16, leading: 10, bottom: 0, trailing: 5))
                Text(mingHua.overview)
                    .font(.system(size: 16))
                    .foregroundColor(.gray)
                
                
            }
            
        }
    }
}


效果

SwiftUI 小demo之List圖文混排趙孟頫書法APP

推薦文章

CoreData篇

TextField篇

JSON文件篇

技術(shù)交流

QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470

請關(guān)注我的專欄icloudend,

http://www.itdecent.cn/c/7b3e3b671970

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容