继承 UITableViewController 还是 UIViewController 后自己创建 tableView?

2015-01-20 09:06:39 +08:00
 babyname
感觉继承前者有时候遇到奇怪的问题。
4260 次点击
所在节点    iDev
15 条回复
PrideChung
2015-01-20 09:16:37 +08:00
我都是直接继承UITableViewController,即使不用UITableViewController来做UITableView的DataSource。主要是懒得自己再去创建个UITableView了
rannie
2015-01-20 09:22:30 +08:00
都可以的 这个不用纠结吧~
zichen0422
2015-01-20 09:36:40 +08:00
经常使用后者得飘过.
LINAICAI
2015-01-20 09:41:42 +08:00
UITableViewController省心太多了,不用各种alloc 和init,还有自己填写代理
kobe1941
2015-01-20 09:45:36 +08:00
从来都是UIViewController+UITableView。第一种当你需要调节tableView的frame的时候就会想哭的,尤其还集成上下拉的时候。
tane05
2015-01-20 09:49:57 +08:00
以前看过的一篇博客,写的相当精彩.
http://www.objc.io/issue-1/table-views.html
likid
2015-01-20 09:52:08 +08:00
第一种,Apple 帮你做了很多操作,省心,可定制性较差。
第二种,自己搞,可定制性高。
第二种要省心的话,只要统一下代码,使用 Snippet 也可以省去较多操作。
另,使用 xib 或 storyboard 也不用写很多界面代码。
wujichao
2015-01-20 10:08:28 +08:00
那么问题来了 如何自己写一个 tableviewcontroller
yellowV2ex
2015-01-20 10:10:41 +08:00
第一种省事,点状态栏回到最顶都不用写
anguskwan
2015-01-20 10:23:19 +08:00
都可以啊,看需求吧
1. 继承tableviewcontroller,view里的内容相对固定,header+tableview+footer
2. 单独实现tableview,适用于大多数场景,例如一个文章,下面有很多评论,评论就需要tableview,这时候单独加一个tableview是必要的,也不复杂,跟实现tableviewcontroller里的那些delegate差不多工作量。。。
anguskwan
2015-01-20 10:23:57 +08:00
一直用rubymotion写,两种情况都比较多。
yellowV2ex
2015-01-20 10:34:11 +08:00
@anguskwan 类似微博详情的那种,我一般用tableHeaderView去干这事儿,还省了控制tableview高度的事儿
PrideChung
2015-01-20 10:48:58 +08:00
UITableViewController自带了UIRefreshControl这一点是它独有的,虽然你也可以自己强行插一个UIRefreshControl进去,但是很容易会有些奇奇怪怪的情况。其他复杂点情况我一般都用ViewController Containment,不会用一个ViewController管理两个比较复杂的View。
cralison
2015-01-22 04:24:19 +08:00
UIViewController+UITableView用得比较多一些:)

不过,
@yellowV2ex 说的tableHeaderView,倒是一个好办法:)
mmoaay
2015-01-23 15:04:51 +08:00
如果你想用UIRefreshControl,建议用UITableViewController

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/163694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX