作者roxx (两斤阿吉)
看板MacDev
标题[讨论] 大家都是怎麽刻 UI 的?
时间Thu Apr 12 14:37:47 2012
刚看到前几篇推文中有人建议不要用 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
1F:推 ryanlei:最近接手一个用code刻UI的project 感想是 04/12 14:41
2F:→ ryanlei:用code会比用滑鼠拉的座标还要精确 04/12 14:41
3F:→ ryanlei:又如果画面上的元件多数是常常要变换位子、大小、样貌的 04/12 14:42
4F:→ ryanlei:用GUI来做只适合拉少数固定位置的元件 04/12 14:42
5F:→ ryanlei:然後storyboard规定装置要iOS 5.0+ 有相容性问题 04/12 14:43
6F:→ roxx:同意,小元件真的很不好拉,回想起之前拉UITableViewCell里面 04/12 14:53
7F:→ roxx:的小元件,真的很不好对准 04/12 14:53
8F:推 Adonisy:习惯先用 nib....不然之後自已都不好维护 ORZ 04/12 15:48
9F:推 iwayne:我是都用nib. nib透过属性设定也能排很准。要变化再用code 04/12 16:47
10F:→ reon:明明小元件 通通都可以在Xib里面设定... 04/12 23:28
11F:→ reon:能用xib做到的本来就尽量要用xib 根本不该把code写在程式中 04/12 23:29
12F:→ reon:iOS比Android好的地方就是有非常强大的xib 04/12 23:30
13F:→ reon:ViewController尽量是处理程序和逻辑 不应该刻太多UI 04/12 23:32
14F:→ reon:刻太多只是造成後续维护人的痛苦..MVC模式要尽量遵守 04/12 23:32
15F:→ reon:同意楼上讲的 要变化的再用code去写 其他设定请用xib(nib) 04/12 23:40
16F:→ reon:基本上我认为一个好的程式 .m 不要超过5百行.. 04/12 23:42
17F:→ reon:不然要看懂 真的会很浪费时间..当然如果是专门处理CG OpenGL 04/12 23:44
18F:→ reon:或是一些网路大型程式..单一功能太强大的例外.. 04/12 23:45
19F:→ reon:否则能尽量切就切... 04/12 23:46
20F:推 Blueshiva:如果你的App有作多国语言版(其实本来就该作),用xib会很 04/13 00:40
21F:→ Blueshiva:麻烦,尤其是後来程式改版的时候...话虽如此,我还是用 04/13 00:40
22F:→ Blueshiva:xib拉UI....Orz 04/13 00:41
23F:推 iwayne:多国语言时xib会改多份是稍有麻烦,但个人同意reon说法MVC 04/13 08:29
24F:→ iwayne:尽量遵守。有一次写一个工程计算机ap,为了换一下UI设计, 04/13 08:32
25F:→ iwayne:只重新拉了另一个nib,然後把关连性用线拉一拉,code都没改 04/13 08:32
26F:→ iwayne:就能正常运行。而且甚至能动态切UI.. 04/13 08:34
27F:推 dreambird:mvc只是要把这三个分开吧,我都用继承UIView手刻 04/13 18:23
28F:→ dreambird:用拉的,当你nib叠了一堆东西要改不是很麻烦吗 04/13 18:24
29F:→ reon:叠了很多东西@@?通常1个nib会用多个view 不是很正常? 04/14 01:54
30F:→ reon:不管在iOS还是Android上UI都尽可能在XML(nib)外部设计就知 04/14 01:59
31F:→ reon:继承当然可以 继承nib还是可用呀 可以减少很多设定 04/14 02:03
32F:→ reon:你只要把重点另外写code 程式可读性和後继维护速度都可增加 04/14 02:05