表视图
1.表视图分类
- 普通表视图。主要用于动态表,一般在单元格数目未知的情况下使用。
- 分组表视图:可以用于动态表和静态表。动态表分组时,单元格分成不同的部分,而每一部分中单元格中的数据是相似的。静态表分组时,会将功能相似的视图放在一起。由于iOS标准控件中没有复选框控件,所以一般使用选择表视图来代替其他平台的复选框控件
表单元格的组成和格式
2.实现协议方法
简单表视图的时序图如图所示:
用代码编写自定义表视图单元格时,需要初始化其中的子视图,这个过程是在initWithStyle:reuseIdentifier:构造函数中实现的。
UIViewController根视图控制器
- 方案一:采用默认的UIView作为根视图,将表视图TableView作为UIView的子视图,根视图控制器是普通的视图控制器UIViewController
- 方案二:直接采用表视图作为根视图,根视图控制器是表视图控制器UITableViewController.
-
- 此方法需要修改AppDelegate里的代码,因为此时应用的根视图控制器不再是ViewController(以UINavigationController为例):
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.backgroundColor = .white
let navigationController = UINavigationController(rootViewController: ViewController())
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
return true
}
……
}