[討論] 大家都是怎麼刻 UI layout 的?

看板MacDev作者 (兩斤阿吉)時間12年前 (2012/04/12 14:37), 編輯推噓6(6026)
留言32則, 7人參與, 最新討論串1/1
剛看到前幾篇推文中有人建議不要用 Storyboard 也不要用 NIB 單純用 code 來實現 UI layout 這應該有這方法的好處,我能想到的就是比較有彈性 而且網路上可看到的程式碼好像也多是用 code 來完成 UI layout 居多 再看過最新的 CS193P 史丹佛的教學影片後 我開始學會怎麼用 Storyboard 的方法來規劃我的 UI layout Storyboard 的好處是可以用 UIViewController 和 Segue 完成大部份的流程 但有些時候還是會被限制住 像要刻自己的 UIView 時 (沒有 controller),就比較麻煩,這時可能要搭配NIB 新導入 XCode4 的 Storyboard 看來好處是很多的 至少視覺方式的呈現,可以比較直覺的了解程式架構,也減少很多程式碼的撰寫 但如果要做比較多課制化的 UI,又會綁手綁腳 不知道各位 programmers 的習慣如何? 討論看看 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.232.167

04/12 14:41, , 1F
最近接手一個用code刻UI的project 感想是
04/12 14:41, 1F

04/12 14:41, , 2F
用code會比用滑鼠拉的座標還要精確
04/12 14:41, 2F

04/12 14:42, , 3F
又如果畫面上的元件多數是常常要變換位子、大小、樣貌的
04/12 14:42, 3F

04/12 14:42, , 4F
用GUI來做只適合拉少數固定位置的元件
04/12 14:42, 4F

04/12 14:43, , 5F
然後storyboard規定裝置要iOS 5.0+ 有相容性問題
04/12 14:43, 5F

04/12 14:53, , 6F
同意,小元件真的很不好拉,回想起之前拉UITableViewCell裡面
04/12 14:53, 6F

04/12 14:53, , 7F
的小元件,真的很不好對準
04/12 14:53, 7F

04/12 15:48, , 8F
習慣先用 nib....不然之後自已都不好維護 ORZ
04/12 15:48, 8F

04/12 16:47, , 9F
我是都用nib. nib透過屬性設定也能排很準。要變化再用code
04/12 16:47, 9F

04/12 23:28, , 10F
明明小元件 通通都可以在Xib裡面設定...
04/12 23:28, 10F

04/12 23:29, , 11F
能用xib做到的本來就盡量要用xib 根本不該把code寫在程式中
04/12 23:29, 11F

04/12 23:30, , 12F
iOS比Android好的地方就是有非常強大的xib
04/12 23:30, 12F

04/12 23:32, , 13F
ViewController盡量是處理程序和邏輯 不應該刻太多UI
04/12 23:32, 13F

04/12 23:32, , 14F
刻太多只是造成後續維護人的痛苦..MVC模式要盡量遵守
04/12 23:32, 14F

04/12 23:40, , 15F
同意樓上講的 要變化的再用code去寫 其他設定請用xib(nib)
04/12 23:40, 15F

04/12 23:42, , 16F
基本上我認為一個好的程式 .m 不要超過5百行..
04/12 23:42, 16F

04/12 23:44, , 17F
不然要看懂 真的會很浪費時間..當然如果是專門處理CG OpenGL
04/12 23:44, 17F

04/12 23:45, , 18F
或是一些網路大型程式..單一功能太強大的例外..
04/12 23:45, 18F

04/12 23:46, , 19F
否則能盡量切就切...
04/12 23:46, 19F

04/13 00:40, , 20F
如果你的App有作多國語言版(其實本來就該作),用xib會很
04/13 00:40, 20F

04/13 00:40, , 21F
麻煩,尤其是後來程式改版的時候...話雖如此,我還是用
04/13 00:40, 21F

04/13 00:41, , 22F
xib拉UI....Orz
04/13 00:41, 22F

04/13 08:29, , 23F
多國語言時xib會改多份是稍有麻煩,但個人同意reon說法MVC
04/13 08:29, 23F

04/13 08:32, , 24F
盡量遵守。有一次寫一個工程計算機ap,為了換一下UI設計,
04/13 08:32, 24F

04/13 08:32, , 25F
只重新拉了另一個nib,然後把關連性用線拉一拉,code都沒改
04/13 08:32, 25F

04/13 08:34, , 26F
就能正常運行。而且甚至能動態切UI..
04/13 08:34, 26F

04/13 18:23, , 27F
mvc只是要把這三個分開吧,我都用繼承UIView手刻
04/13 18:23, 27F

04/13 18:24, , 28F
用拉的,當你nib疊了一堆東西要改不是很麻煩嗎
04/13 18:24, 28F

04/14 01:54, , 29F
疊了很多東西@@?通常1個nib會用多個view 不是很正常?
04/14 01:54, 29F

04/14 01:59, , 30F
不管在iOS還是Android上UI都盡可能在XML(nib)外部設計就知
04/14 01:59, 30F

04/14 02:03, , 31F
繼承當然可以 繼承nib還是可用呀 可以減少很多設定
04/14 02:03, 31F

04/14 02:05, , 32F
你只要把重點另外寫code 程式可讀性和後繼維護速度都可增加
04/14 02:05, 32F
文章代碼(AID): #1FXdWzFQ (MacDev)