我在github的第一個Repo-GCTagList
已經可以在CocoaPods & CocoaControls找到GCTagList
使用上有任何建議或問題可以直接在github上給我建議, 謝謝
在訂完今年的年度目標後, 除了正在並行的讀書會之外, 另一個就是在github上提交自己的lib; GCTagList 雖然內容很粗糙, 不過也算踏出了第一步, 希望之後會越來越好。
關於TagList, 一開始是因為專案上有這個需求, 希望可以像iPhone的Mail App的收件者或寄件者的tag list樣式; 不過在網路上找的lib大部分都要調整, 在維護上個人覺得不太方便, 加上專案之後要給別人維護, 如果這一塊寫的很醜之後很煩, 所以想了想就抓了一個來參考, 在依照需求來做設計, 整理出來就是GCTagList。
GCTagList
模仿iPhone’s Mail App中所呈現的tag list樣式
特點
taglist有幾個比較特殊的地方, 分別是:
第一行支援LeftMargin
主要是解決如果再Taglist前面會需要文字的話, 不會因為需要配合文字就限制住Taglist的寬度。
最大行數
當內容很多的時候, 可能因為list內的Taglabel過多造成行數過多(高度過高), 需要讓user一直捲動影響到App的操作。
自動調整高度
這就不多解釋了, 就是拿來Resize用 …
ARC
然後就是最近比較常使用的arc, 因為這次的專案支援arc, 所以是以arc為出發點在處理沒有支援arc的專案。
然後GCTagList一些想法是平時觀察UITableView的心得, 自己所做的一些實作, 所以Reuse跟identifire等東西相信有注意到的人應該都不陌生。(命名的方式也有一些雷同)
使用方式
在專案需要加入 QuartzCore.frame
, 並加入 class & assets的resoure bundle。
1 2 3 |
|
接著主要實作GCTagListDataSource的2個Mehtod
1 2 |
|
最後再呼叫CGTagList的reloadData
。
1
|
|
在與taglist的互動方面, 我也設計了2個方式點擊方式
- 點擊TagLabel
- 點擊TagLabel’s accessoryButton
可以在GCTagListDelegate找到對應的使用方式。
後續的調整
- 區段性reload、insert和delete (嗯…就是要學)
- 客製化AccessoryButton
- Taglist顏色的調整 … 是否要使用漸層等等
目前想到的也就這些吧 … 有想法的可以一起討論一下
Reference
之後
有個小小的想法, 就是把他放到cocoacontrols跟cocoapods上 XD, 希望不會寫的太爛被打臉阿~
也要感謝一下馬克(我現在的PM)跟Eikiy(專案合作的創意)以及Jeremy(公司的大Boss), 給了很多的概念跟支援, 才會有這個lib的誕生.
最後附上github repo:GCTagList
最近
嗯, 小弟我把它丟上cocoacontrols了, 丟上去的方式還挺簡單的, 有兩種方式
- github account, 從github上抓取
- 其他方式
我是使用github的方式, 將你的lib URL丟給它後它會抓一些基本的資訊, 然後會需要填一些內容&keyword (for cocoacontrols search); 提交之後要等待審核(?, 會需要一段時間, 我大該排了一個禮拜吧, 如果沒問題它就會直接出現在cocoacontrol裡面啦~
今天下午也嘗試了提交到cocoapods, 不過不知道自己做的正不正確 … (Orz, 英文太破) … 如果有提交成功, 再來補充囉。
–
最後額外感謝Aaron Haung, 今天下午跟他詢問Roibbon p的效果該怎麼做, 沒想到他跟我說給我一小時, 我寫個外掛給你~真是揪甘心, 請受小弟一拜~
也附上網址大家有需要可以去抓囉。