预习~

UITabBarController 标签视图控制器

标签视图控制器:管理没有层次关系的视图控制器

UITabBarController和UINavigationController 继承于UIViewController

1.创建UITabBarController对象

2.将管理视图控制器放到一个数组中

3.设置子视图数组

4.将根视图控制器设置为TabBarController

过程: UIWindow -> UITabBarController -> UINavigationController -> UIViewController

管理的视图控制器(NSArray) viewControllers

标签栏 tabBar

选中的某个tabBarItem  selectedIndex

代理 delegate

可以用协议来监听点击的标签,点击标签(tabBarItem)时触发该方法

- (void)tabBarController:(UITabBarController*)tabBarController didSelectViewController: (UIViewController*)viewController

{

NSLog(@"%ld", tabBarController.selectedIndex);

NSLog(@"viewController = %@", viewController);

}

UITabBar

UITabBar 包含多个UITabBarItem,每 个UITabBarItem对应 个UIViewController。UITabBar的 度是49。

系统最多只显5个UITabBarItem,当UITabBarItem超过5个时系统会 动增加 个更多按钮,点击更多按钮没有在 底部出现的按钮会以列表的形式显 出来

UITabBar的属性:tintColor,barTintColor,图像设置 等。

UIAppearance

UIAppearance协议可以进行对控件惊醒自定义颜色等操作.

***UITabBarController,UINavigationController,UITableViewController通常组合出现

UITabBarController可以嵌套UINavigationController

UITabBarController也可以模态UINavigationController

UITabBarController是项目开发中尝尽的布局样式,与UINavigationController不同,他的viewControllers都是并列的,而UINavigationController的是层次性的

UITabBar通常都会定义外观以适应程序风格,必要时会自定义

UITableView

UITableView是iOS系统中最重要的视图,在常用的APP中比较常见

UITableView继承于UIScrollView,可以滚动。UITableView的每 条数据对应的单元格叫做Cell ,是UITableViewCell 的一个对象,继承于UIView 。

UITableView可以分区显 , 每一个分区称为section , 每一行称为row    , 编号都从0开始。 系统提供了 个专门的类来整合section和row,叫做NSIndexPath。

行高 rowHeight

分隔线样式  separatorStyle

分隔线颜色  separatorColor

UITableView的置顶视图 tableHeaderView

UITableView的置底视图 tableFooterView

显示数据相关的代理 dataSource

视图操作相关的代理 delegate

UITableView重用cell的流程

1. 当一个cell被滑出屏幕,这个cell会被系统放到相应的重用池中。

2.当tableView需要显示一个cell,先去重用池中尝试获取一个cell(红色的cell)。

3.如果重用池没有cell ,就会创建一个cell(黄色的cell )。

4.取得cell之后会重新赋值进行使用 。

UITableView编辑

UITableView  编辑步骤如下:

一.让TableView处于编辑状态

二.协议设定

1.确定Cell是否处于编辑状态

2.设定Cell的编辑样式(删除、添加)

3.编辑状态进行提交

*编辑结束后,由于numberOfRowSInSection这个协议只在tableview添加到父视图的时候走一次, 而且 table上的数据都是由数组提供,因此,需要先将数组中的元素删除,然后让 table的协议重新走一遍进行重新赋值。

即:先修改数据源,再刷新table(使用reloadData方法)

UITableViewController

UITableViewController是继承于UIViewController 中的一个类,只不过UIViewController中多了一个属性 tableView。

即:UITableViewController是一个自带table的视图控制器。

一::UITableViewController继承:UIViewController, 自带一 个tableView

二:self.view 不是UIView而是UITableView

三:datasource和delegate默认都是self(:UITableViewController)

四:开发中只需要建立UITableViewController子类

你可能感兴趣的:(预习~)