一个复杂的view,像xib,我可以分开成多个view,然后很分散去布局。但在storyboard下,必需要放到viewcontroller下,结果就是非常乱。
或者是我不知道,有什么好办法没有?
或者是我不知道,有什么好办法没有?
|
tangzsOct 19, 2013
1
storyboard只是提供多一种选择;
一个应用可以多个storyboard,比如将可重用的一个模块(多个ViewController)做一个storyboard,管理起来还是感觉比以前好吧; 也可以和以前的xib混用的,所以旧代码拿过来也没压力。 |
|
PrideChungOct 19, 2013
2
我已经退回到xib了,view复用比较方便。写测试的时候为了从storyboard里面取一个view controller出来必须要给个名字,太麻烦了。
|
|
alexrezitOct 19, 2013
3
我觉得... sb 这种东西... 实在不是完美主义者能用的...
|
|
11Oct 19, 2013
4
我是觉得 segue 管理起来好麻烦;
而且 storyboard 很卡; 小屏幕下完全无法接受; 楼主说的 subview 也是个问题。 |
|
angelfaceOct 19, 2013
5
除非非常简单的ui, 否则全部代码处理,无论是storyboard还是xib都不用,scm太麻烦
|
|
txxOct 19, 2013
6
subView 可以用 container 不过 sb 在 XCode 5 上卡成狗啊。。。。。
|
|
PrideChungOct 19, 2013
8
@11 segue的时候有90%的情况要传一些参数,于是又得去prepareForSegue:里面判断一下identifier,实在是有够麻烦的。而且如果你的App自定义的东西比较多的话,有些地方无法用segue,storyboard很多时候根本不能显示应用真正的流程。做Web开发的时候也没什么storyboard之类的东西,都是一个个view地写过来的,也没发现有什么搞不清流程的情况,我现在觉得storyboard产生的问题比解决的问题还多。 storyboard最有用的功能就是静态的table view了,可以单独用一个storyboard来存放。
|
|
11Oct 19, 2013
9
@PrideChung 对啊,如果用 storyboard 控制流程,那么竟然还有个很 bug 的 method:
performSegueWithIdentifier:sender: 这样完全可以调用其他不连接起来的 view 了。 那个 static table view 的确很有用。 |
|
ShengjiaWANGOct 19, 2013
10
之前苦于SB多人协作太难弄,所以我一般是能代码就纯代码搞定。不过现在SB似乎在这方面好很多了,而且纯代码上auto layout似乎有点苦啊。。。
|
|
11
@ShengjiaWANG 我以前也是用手写代码,现在改storyboard和xib,非常好,推荐
@11 我以为卡是我电脑问题,8g内存还凑合 @PrideChung 这个地方也有点麻烦 @txx 没太明白 |
|
xuan_lengyueOct 20, 2013
12
Storyboard 一个很强大的功能是 static tableview cell,这个找不到其他解决方案。
其实 Storyboard 和 xib 结合能解决大部分的问题。 |
|
13
@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 就行了。 |
|
ShengjiaWANGOct 20, 2013
14
@PrideChung 我几乎完全同意你说的,合理的结合才是王道,看来现在唯一阻碍我的就是惰性了。习惯了代码控制一切,对Storyboard和xib一直有抵触情绪,不是很熟悉,需要重新适应。
@xuan_lengyue 嗯,我是该尝试一下了。 |
|
so898Oct 20, 2013
15
曾经试过xib+SB+代码混写……
结论是还是代码顺手,其他两个都能把我的电脑拖死机 果然就算是rMBP顶配也是渣渣啊 |
|
austinchou0126Oct 20, 2013 via iPhone
16
最近刚好也在纠结这个问题,感谢@PrideChung
|
|
17
@ShengjiaWANG 我也觉得auto layout挺鸡肋的,比原来那个layout是多了一些功能,但我每次编译都要看到100多个警告,基本上都是autolayout的问题。
@so898 sb慢是一个大问题,代码效率真心不高,特别是改动的时候,一个项目中有一半以上的代码在处理布局。我最近几个项目完全改成了sb或xib,感觉还是不错的,刚用有点不爽,那是因为离开的舒适区的一种自然反应。 |
|
PrideChungOct 20, 2013
18
@refresh Auto Layout不鸡肋,只是对于简单的布局来说是杀鸡用牛刀,所以像我上面说的用 xib 来做界面 ,对于需要复杂布局的 view 单独启用 Auto Layout 最合适。
|
|
xsownOct 20, 2013
19
等到明年水果推出传说中6寸 iPhone(另一说是4.8寸?)的时候 autolayout 就显神通了
|
|
20
@xsown autolayout概念很好,但只是不好操作,复杂一点的布局弄死人了,复杂的布局应该可以分开设计,这点可以学习CorelDarw或者AI,组合图层点进去之后可以进入到具体的图层进行设计。
@PrideChung 复杂的用xib是一个不错的做法 |
|
xujialiangOct 20, 2013 via Android
22
view controller 可以有很多啊。。。我晕
|
|
xujialiangOct 20, 2013 via Android
23
storyboard 里,每个controller都可以有view controlller
|
|
24
@xujialiang 我的意思是,所有的control都必需放入viewController内,不像xib,可以各View分开放。
|
|
bigporkerOct 22, 2013
25
同感,我还是喜欢xib,不过XCode5好像不能单独创建xib文件了,只能和class文件一起创建
同时,我觉得arc对我来说也是多余 |
|
sprhawkOct 24, 2013
28
新写的项目用Storyboard,除了IB有点卡外,我觉得Storyboard很好用,很多界面的内容都直接通过IB去定义好,流程也画好,只需要在ViewController做一个判断,赋值就可以了。
我觉得用Storyboard做快速建模效率是非常之高的 |
|
ipconfigerJul 21, 2014
29
知道为什么用不习惯storyboard么?很简单,就是因为屏幕不够大,换个27寸的iMac就知道storyboard的爽了
|