SwiftUI學(xué)習(xí)100天(Day46 - 項(xiàng)目 9,第四部分)

原創(chuàng)鏈接:https://www.hackingwithswift.com/100/swiftui
以下內(nèi)容僅供學(xué)習(xí)參考:

這是另一個(gè)完成的項(xiàng)目,此時(shí)你已經(jīng)體驗(yàn)了幾乎所有 SwiftUI 的繪圖 API。你可能想重新開始構(gòu)建應(yīng)用程序,但請(qǐng)花點(diǎn)時(shí)間停下來回顧一下你所學(xué)的內(nèi)容——你可能有一段時(shí)間不會(huì)使用所有這些內(nèi)容,但重要的是你至少要記住所涵蓋的內(nèi)容,以便你可以稍后再參考。
因此,今天你將進(jìn)行另一次復(fù)習(xí)以測(cè)試你的記憶力,以及一些讓你自己編碼的挑戰(zhàn)。與往常一樣,這些挑戰(zhàn)并沒有由我來解決,但這就是重點(diǎn)——正如美國(guó) NFL 球員特洛伊·波拉馬魯 (Troy Polamalu) 曾經(jīng)說過的那樣,“我一直認(rèn)為沒有人能比我自己更好地挑戰(zhàn)我。”
你可以隨心所欲地隨心所欲地解決它們,無論何時(shí)何地,你都可以順利通過。另一方面,也許在完成它們時(shí),你會(huì)發(fā)現(xiàn)一些你的知識(shí)有點(diǎn)不穩(wěn)定的地方——你唯一知道的方法就是嘗試。
今天你應(yīng)該完成項(xiàng)目 9 的總結(jié)章節(jié),完成它的回顧,然后完成它的所有三個(gè)挑戰(zhàn)。

制圖:收尾
我們?cè)谶@個(gè)項(xiàng)目中涵蓋了大量?jī)?nèi)容,你已經(jīng)了解了路徑、形狀、筆觸、變換、繪圖組、動(dòng)畫值等。不是每個(gè)人都想使用所有這些功能,這沒關(guān)系——希望你清楚地知道哪些部分是你最感興趣的,并且對(duì)它們有一些良好的編碼經(jīng)驗(yàn)。
如果你將新發(fā)現(xiàn)的繪圖能力與我們?cè)陧?xiàng)目 6 中介紹的所有動(dòng)畫功能結(jié)合起來,我希望你開始意識(shí)到 SwiftUI 為我們提供了多么強(qiáng)大的功能和靈活性。是的,你當(dāng)然可以使用List
,NavigationView
和類似的方法創(chuàng)建整個(gè)應(yīng)用程序,
但你也可以構(gòu)建完全自定義的用戶界面,這些界面看起來很棒而且速度也一樣快。
回顧你學(xué)到的東西
任何人都可以聽完教程,但要記住所教的內(nèi)容需要實(shí)際工作。我的工作是確保你從這些教程中獲得盡可能多的知識(shí),因此我準(zhǔn)備了一個(gè)簡(jiǎn)短的評(píng)論來幫助你檢查你的學(xué)習(xí)情況。
單擊此處查看你在此項(xiàng)目中學(xué)到的知識(shí):
https://www.hackingwithswift.com/review/ios-swiftui/drawing

挑戰(zhàn)
最好的學(xué)習(xí)方法之一是盡可能多地編寫自己的代碼,因此你應(yīng)該嘗試通過以下三種方式擴(kuò)展此應(yīng)用程序,以確保你完全理解正在發(fā)生的事情。
創(chuàng)建一個(gè)
Arrow
形狀——讓它筆直向上就可以了。這可能是一個(gè)矩形/三角形樣式的箭頭,或者可能是三條線,或者可能是其他東西,具體取決于你要繪制的箭頭類型。使
Arrow
形狀的線條粗細(xì)可動(dòng)畫化。創(chuàng)建一個(gè)
ColorCyclingRectangle
形狀,它是ColorCyclingCircle
的矩形表親
,允許我們使用一個(gè)或多個(gè)屬性控制漸變的位置。

提示:漸變位置像.top
和.bottom
這樣的
實(shí)際上是 UnitPoint
的實(shí)例
,你可以創(chuàng)建自己UnitPoint
的 X/Y 值范圍為 0 到 1 的實(shí)例。


