iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
Mobile Development

iOS學習資源與筆記系列 第 14

翻牌遊戲教學

  • 分享至 

  • xImage
  •  

記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
內容可能有錯誤。

教學來源:
How to Make an App for Beginners (2020) - Lesson 1

教學內容: 16張牌,翻到兩個一樣的牌成功 。

1 命名規範:

Lesson24:


類別(class)或是struct : 每個字的第一個字大寫 。
像是:ViewController

其他 : 除了第一個字小寫 ,其餘也是每個字的第一個字大寫 。
像是:collectionView


動詞+名詞


右鍵選New Group 可以創建資料夾


//TODO: 我要到這裡
//MARK: 我要到這裡
參考:
[Swift]swift中使用MARK,TODO,FIXME


整理程式快捷鍵:

全選後, 按 control + i


寫方法的時候,可以增加 _ 像是 :

func checkForMatch(_ secondFlippedCardIndex: IndexPath?){
}

這樣在呼叫方法的時候,就可以:

checkForMatch(index)

不用再:

checkForMatch(secondFlippedCardIndex: index)

2 翻卡跟這個有關:

Transitions – UIView Transition (視圖轉場動畫)

transition(from:to:duration:options:completion:)

3

collectionView 重複利用問題 :
就是上下滑動的時候 ,cell會重複利用。
所以 現在翻開一張牌,上下滑後 ,就會 變成 另一張牌 翻開 。
所以 在設定cell的時候,要特別加上這一段:

如果card 翻開 :
翻開card()
Else
關閉card()

CollectionView很像Android的RecyclerView:
Create a List with RecyclerView
Android、java,RecyclerView

4

Lesson27:

Q:
比較 兩個 卡牌 一不一樣 , 要記錄 第一張 牌的 index 。
但是 在上下滑動的時候 ,cell一樣會變化 , 所以翻開第二張牌,
反而 會去跟其他張牌比較, 而不是原本的第一張牌, 要怎麼解決這個問題 才可以 跟原本翻到的牌比大小 ?

A:
collectionView有一個有willDisplay 參數的方法 。
把collectionView的設定檔 移到 這方法裡 。
因為這個方法,可以在collectionView 還沒顯示前 ,先設定內容 。

這是ViewController版本的CollectionView ,之後再來練SwiftUI版本的CollectionView


上一篇
Swift,Image upload,Post
下一篇
Swift ,User Defaults
系列文
iOS學習資源與筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言