看板 MacDev 關於我們 聯絡資訊
各位前輩大家好,最近在寫程式的時候遇到一個問題 就是單一個View要呈現的東西太多,當時想到的是用純碼的方式去建立整個頁面 後面因為一些navigation的問題,也決定繼續用純碼的方式來建立後續頁面 寫了一陣子以後突然覺得好像在這塊上好像沒有摸得很熟 所以想說來請教一下各位前輩 用純的程式碼在寫UI的時候,已經感覺到的優點 ・不會有一些什麼屬性忘記設定,全部都可以在Code裡面找到問題 ・在版本控管的時候可以方便的的知道這個UI大概有哪些地方被修改 感覺到但是還沒有體會到的問題 ・在設定Layout的時候可能沒那麼簡單 目前因為還沒有做得很深,如果要修改之前的UI都還來得及 所以趁現在想先來請問一下,如果用純程式碼在寫Code除了以上的問題 還會不會遇到什麼比較麻煩或是比較難以克服的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.203.228 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1480921048.A.D0C.html
darktt: 我覺得就只是無法馬上看到結果比較麻煩而已,小改就要連 12/05 15:02
darktt: 續來回build幾次才能解決 12/05 15:02
因為目前還沒遇到太深入的問題,想說在深入以前先看看會遇到怎樣的問題 目前感覺是去計算版面配置可能會比較複雜一點 ※ 編輯: luke8197 (211.22.203.228), 12/05/2016 15:17:23
Blueshiva: 如果是調整小地方,可以用Tweaks這個pod會方便很多 12/05 15:17
Blueshiva: https://github.com/facebook/Tweaks 12/05 15:17
kyushu: 跟darktt所說一樣,建議最好都用code寫,xib, stoaryboar 12/05 16:31
kyushu: d最好少用甚至別用 12/05 16:31
zonble: 其實現在用純 code 寫還比較快 12/05 16:45
zonble: 直接在 playground 裡頭 live coding 12/05 16:45
zonble: playgound 寫完再放回專案裡頭 12/05 16:46
今天在設計一個對話視窗的小細節就是用zonble大講的方法,寫好以後再放進去。 不過目前觀察到一個現象就是會有很多幾乎是重複的程式碼 不知道各位前輩怎麼管理這部分的程式碼? 在Github上有看過有人是用extension的方式,把各個部分切開 例如說TableViewController的Delegate方法就移到那邊去 大概像這樣 class deviceColletionTableViewController : UITableViewController{ ... } extension deviceCollectionTableViewController{ //Table view data source } 想請教一下各位前輩都是怎麼去管理的呢? ※ 編輯: luke8197 (59.127.213.53), 12/05/2016 23:34:09
wawalian: 請問全用code刻UI的話要如何做MVC呢? 12/06 01:25
tkdmaf: 全用code或不用都是「view」的層級吧!不影響 MVC 啊。 12/06 01:54
darktt: 重複程式碼的話我會用Closure來包重複的地方,像是連續建 12/06 06:13
darktt: 立多個相同的UILabel等等, 12/06 06:13
darktt: 另外我自己是在使用另外一個方法來區分每一個建立View的 12/06 06:15
darktt: 區塊,是使用這個https://goo.gl/VzZ8wj,這可以在同一個 12/06 06:16
darktt: Method中標示出幾個區塊,而且裡面的變數是可以重複使用的 12/06 06:18
darktt: 像是常用的color或frame等等 12/06 06:18
原來如此,這樣就可以把重複的部分提出來 也不會有DRY的問題 感謝前輩提供的思路,我在思考一下其他對策
wawalian: @tkdmaf 意思是會分兩個檔案去做v跟c嗎?我以為是全寫 12/06 08:56
wawalian: 在一起...@@ 12/06 08:56
tkdmaf的意思應該是 MVC的概念應該不是只是程式碼寫在一起或分開 而是在功能上的切割? 即使我完全都用Storyboard來做畫面,也不應該把功能混在一起 之前看白鬍子的教學,有幾堂在做計算機的,這個概念有做比較實際的解說 ※ 編輯: luke8197 (211.22.203.228), 12/06/2016 09:30:59
wawalian: 我知道mvc是依照功能區分陣營,只是個人習慣將mvc分在 12/06 10:26
wawalian: 不同檔案,在多人共同開發時較不會遇到衝突 12/06 10:26
Ghosso: 你也可以view寫在不同檔案阿 用code刻ui跟mvc關係不大 12/06 13:14
jazzter: 參考這個plugin 全code UI 滿好用 ,不用一build 12/06 13:26
nat99up: 想請問各位大大storyboard可以不用摸很熟沒關係嗎 12/06 15:33
感覺storyboard的優點是在視覺化 對於還沒參與過的專案可以比較好上手,大概知道每個view是在做什麼的 不過缺點是很多屬性都要找到設定的地方,如果忘記設定就會比較麻煩。各有各的優缺點 公司會有什麼要求也不一定,所以還是瞭解一下會比較好。 ※ 編輯: luke8197 (59.127.213.53), 12/06/2016 22:02:44
ppppman: 都會最好 視情況用不同方式 12/06 23:51
jimmygio: 我以前也是純code,現在則是能用storyboard就盡量用stor 12/09 21:01
jimmygio: yboard 12/09 21:01
jimmygio: 感覺只是習慣不同而已 12/09 21:02
annie1729: 推樓上,Storyboard 用習慣還挺好用的 12/10 21:12
Esvent: 以前也是全code 現在則是能用ib就用ib 12/12 12:30
Esvent: 可以省掉很多冗長的ui設定code 還不錯 12/12 12:30