首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与实现tableview委托和数据源方法的UIViewController相比,使用UITableViewController有什么优势吗?

与实现tableview委托和数据源方法的UIViewController相比,使用UITableViewController有什么优势吗?
EN

Stack Overflow用户
提问于 2013-01-23 02:24:15
回答 5查看 6.7K关注 0票数 24

Xcode中,当我创建一个新的视图控制器来包含一个表视图时,我有两个选项

  1. 创建新的UITableViewController
  2. Create实现UITableViewDelegateUITableViewDataSource协议的新UIViewController

假设我正确地实现了协议的所有必需和可选方法,使用UITableViewController是否有任何优势(除了不必编写方法存根)?也就是说,有没有什么东西(内存管理、缓存等)在UITableViewController类中的幕后实现使得选项1比选项2更好的选择?

EN

回答 5

Stack Overflow用户

发布于 2013-01-23 02:40:41

无论采用哪种方法,都必须编写委托和协议方法。

当您需要一个带有表视图的视图控制器时,您应该选择使用UIViewController而不是UITableViewController,只有两个可能的原因:

  1. 您需要表格视图比视图控制器的视图小。
  2. 您需要向视图控制器添加不与表格视图一起滚动的附加视图(尽管有一些方法可以用来解决这个问题

以下是UITableViewController为您完成的所有需要复制的操作:

UITableView.

  • Sets定义并设置UITableView.

  • Sets本身作为表视图的dataSource,并设置setEditing:animated:方法,以根据刷新控件(从iOS 6开始)中的刷新控件( up view.

  • Deselects

  • method.

  • Hooks up
  1. )中表视图滚动条的dataSource设置表的setEditing:animated:属性,以在viewWillAppear:方法中最后选定的行设置表。
  2. 在第一次加载表视图时重新加载表视图它将滚动表格视图的contentInset (从iOS 7开始)。当键盘出现时,
  3. 会根据需要滚动表格视图。
票数 52
EN

Stack Overflow用户

发布于 2015-09-04 13:50:33

0行代码的键盘优势

当屏幕上的键盘出现时,UITableViewController提供了自动滚动,而普通的UIViewController没有。

UITableViewController可以在视图内可靠地移动编辑过的区域,而无需摆弄键盘通知。自从iOS诞生以来,它就这样做了,而键盘通知发生了变化,很少提供向后兼容性。

只要视图需要编辑(比如登录屏幕),就可以考虑使用UITableViewController,并通过0行的代码充分利用这一独特的特性。

不幸的是,采用UITableViewDelegate协议的常规UIViewController不能提供该功能。

iPhone OS诞生之初到如今的。

有关GitHubSwift Recipes的更多详细信息,请访问►找到此解决方案。

票数 13
EN

Stack Overflow用户

发布于 2013-01-23 02:28:30

UITableViewController允许在iOS5上使用静态表

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14465447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档