V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
babyname
V2EX  ›  iDev

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

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

    不过,
    @yellowV2ex 说的tableHeaderView,倒是一个好办法:)
    mmoaay
        15
    mmoaay  
       2015-01-23 15:04:51 +08:00
    如果你想用UIRefreshControl,建议用UITableViewController
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2528 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:46 · PVG 10:46 · LAX 18:46 · JFK 21:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.