1
tangzs 2013-10-19 21:24:02 +08:00
storyboard只是提供多一种选择;
一个应用可以多个storyboard,比如将可重用的一个模块(多个ViewController)做一个storyboard,管理起来还是感觉比以前好吧; 也可以和以前的xib混用的,所以旧代码拿过来也没压力。 |
2
PrideChung 2013-10-19 22:19:55 +08:00
我已经退回到xib了,view复用比较方便。写测试的时候为了从storyboard里面取一个view controller出来必须要给个名字,太麻烦了。
|
3
alexrezit 2013-10-19 22:39:15 +08:00
我觉得... sb 这种东西... 实在不是完美主义者能用的...
|
4
11 2013-10-19 22:48:55 +08:00
我是觉得 segue 管理起来好麻烦;
而且 storyboard 很卡; 小屏幕下完全无法接受; 楼主说的 subview 也是个问题。 |
5
angelface 2013-10-19 23:01:45 +08:00
除非非常简单的ui, 否则全部代码处理,无论是storyboard还是xib都不用,scm太麻烦
|
6
txx 2013-10-19 23:01:53 +08:00
subView 可以用 container 不过 sb 在 XCode 5 上卡成狗啊。。。。。
|
8
PrideChung 2013-10-19 23:12:02 +08:00
@11 segue的时候有90%的情况要传一些参数,于是又得去prepareForSegue:里面判断一下identifier,实在是有够麻烦的。而且如果你的App自定义的东西比较多的话,有些地方无法用segue,storyboard很多时候根本不能显示应用真正的流程。做Web开发的时候也没什么storyboard之类的东西,都是一个个view地写过来的,也没发现有什么搞不清流程的情况,我现在觉得storyboard产生的问题比解决的问题还多。 storyboard最有用的功能就是静态的table view了,可以单独用一个storyboard来存放。
|
9
11 2013-10-19 23:17:57 +08:00
@PrideChung 对啊,如果用 storyboard 控制流程,那么竟然还有个很 bug 的 method:
performSegueWithIdentifier:sender: 这样完全可以调用其他不连接起来的 view 了。 那个 static table view 的确很有用。 |
10
ShengjiaWANG 2013-10-19 23:29:16 +08:00
之前苦于SB多人协作太难弄,所以我一般是能代码就纯代码搞定。不过现在SB似乎在这方面好很多了,而且纯代码上auto layout似乎有点苦啊。。。
|
11
refresh OP @ShengjiaWANG 我以前也是用手写代码,现在改storyboard和xib,非常好,推荐
@11 我以为卡是我电脑问题,8g内存还凑合 @PrideChung 这个地方也有点麻烦 @txx 没太明白 |
12
xuan_lengyue 2013-10-20 01:04:24 +08:00
Storyboard 一个很强大的功能是 static tableview cell,这个找不到其他解决方案。
其实 Storyboard 和 xib 结合能解决大部分的问题。 |
13
PrideChung 2013-10-20 01:24:09 +08:00 2
@11
storyboard可以切分成几个小的,没那么占内存打开也比较快,但是因为无法跨 storyboard 进行 segue,只能按老一套的来,segue的作用就没了。如果 segue 不能真正地显示出整个应用的流程,反而可能会误导人,我觉得还不如不用。而且切分了以后很麻烦的一点是你找一个view controller还得先想想放在哪个 storyboard 里面了。 @ShengjiaWANG Xcode 5 的 xib 和 storyboard 的格式都改了,简短了许多而且相当可读,合并冲突不成问题。如果花点时间了解一下格式手写 xib 的代码也是有可能的,文档标记语言比起编程语言更适合用来描述界面。 手写界面还用 Auto Layout的话代码量多好多,还是用 Xcode 5 的 IB 吧,可以给你很多有用的提示,也不会强制给你加一堆constrain。 Xcode 4 的是渣渣别提了。 另外 Auto Layout 真的没必要作为默认,有些简单的布局Spring & Structs 更方便。xib 比 storyboard 好的另外一点是 Auto Layout 的设置可以逐个 xib 分开来设置,需要再启用。storyboard 只能一刀切。 @refresh 我现在是以 xib 为主,偶尔用 storyboard 画画 settings 和 about 界面的table view,觉得挺好的。 对了,用xib有一点很爽的,创建一个view controller其实无需指定xib的名字的。只要你的xib命名跟view controller一样(除后缀名),然后 [[ViewController alloc] init] iOS会自动找到对应的xib,对于iPad的xib,写成 ViewController~ipad.xib 就行了。 |
14
ShengjiaWANG 2013-10-20 02:29:17 +08:00
@PrideChung 我几乎完全同意你说的,合理的结合才是王道,看来现在唯一阻碍我的就是惰性了。习惯了代码控制一切,对Storyboard和xib一直有抵触情绪,不是很熟悉,需要重新适应。
@xuan_lengyue 嗯,我是该尝试一下了。 |
15
so898 2013-10-20 03:50:02 +08:00
曾经试过xib+SB+代码混写……
结论是还是代码顺手,其他两个都能把我的电脑拖死机 果然就算是rMBP顶配也是渣渣啊 |
16
austinchou0126 2013-10-20 10:06:42 +08:00 via iPhone
最近刚好也在纠结这个问题,感谢@PrideChung
|
17
refresh OP @ShengjiaWANG 我也觉得auto layout挺鸡肋的,比原来那个layout是多了一些功能,但我每次编译都要看到100多个警告,基本上都是autolayout的问题。
@so898 sb慢是一个大问题,代码效率真心不高,特别是改动的时候,一个项目中有一半以上的代码在处理布局。我最近几个项目完全改成了sb或xib,感觉还是不错的,刚用有点不爽,那是因为离开的舒适区的一种自然反应。 |
18
PrideChung 2013-10-20 15:47:27 +08:00
@refresh Auto Layout不鸡肋,只是对于简单的布局来说是杀鸡用牛刀,所以像我上面说的用 xib 来做界面 ,对于需要复杂布局的 view 单独启用 Auto Layout 最合适。
|
19
xsown 2013-10-20 16:59:42 +08:00
等到明年水果推出传说中6寸 iPhone(另一说是4.8寸?)的时候 autolayout 就显神通了
|
20
refresh OP @xsown autolayout概念很好,但只是不好操作,复杂一点的布局弄死人了,复杂的布局应该可以分开设计,这点可以学习CorelDarw或者AI,组合图层点进去之后可以进入到具体的图层进行设计。
@PrideChung 复杂的用xib是一个不错的做法 |
22
xujialiang 2013-10-20 22:13:45 +08:00 via Android
view controller 可以有很多啊。。。我晕
|
23
xujialiang 2013-10-20 22:15:06 +08:00 via Android
storyboard 里,每个controller都可以有view controlller
|
24
refresh OP @xujialiang 我的意思是,所有的control都必需放入viewController内,不像xib,可以各View分开放。
|
25
bigporker 2013-10-22 13:45:40 +08:00
同感,我还是喜欢xib,不过XCode5好像不能单独创建xib文件了,只能和class文件一起创建
同时,我觉得arc对我来说也是多余 |
27
bigporker 2013-10-22 14:23:29 +08:00
@refresh arc不算真正的gc,只是语法糖,还是习惯自己控制内存。
我回头试下直接创建view,如果可以的话,直接就放弃storyboard |
28
sprhawk 2013-10-24 19:34:30 +08:00
新写的项目用Storyboard,除了IB有点卡外,我觉得Storyboard很好用,很多界面的内容都直接通过IB去定义好,流程也画好,只需要在ViewController做一个判断,赋值就可以了。
我觉得用Storyboard做快速建模效率是非常之高的 |
29
ipconfiger 2014-07-21 10:19:24 +08:00
知道为什么用不习惯storyboard么?很简单,就是因为屏幕不够大,换个27寸的iMac就知道storyboard的爽了
|