iOS开发UI篇—直接使用UITableView Controller

一、一般过程

 1 //
 2 //  YYViewController.h
 3 //  UITableView Controller
 4 //
 5 //  Created by 孔医己 on 14-6-2.
 6 //  Copyright (c) 2014年 itcast. All rights reserved.
 7 //
 8
 9 #import <UIKit/UIKit.h>
10
11 @interface YYViewController : UIViewController
12
13 @end

系统storyboard中默认的控制器为:ViewController

这样的话如果整个程序界面都只是使用UITableView来搭建,那么一般需要完成以下相对繁琐的步骤:

(1)向界面上拖一个UItableview

(2)设置数据源

(3)设置代理

(4)遵守代理协议

上述过程相对繁琐,且还需要手动的设置数据源,代理,遵守协议等,容易遗漏,下面推荐直接使用UITableView Controller。
二、使用UITableView Controller
为了简化操作,推出下面的方法。
即如果在界面上仅仅只是需要用来展示一个UITableView,那么可以让主控制器直接继承于UITableView Controller

 1 //
 2 //  YYViewController.h
 3 //  UITableView Controller
 4 //
 5 //  Created by 孔医己 on 14-6-2.
 6 //  Copyright (c) 2014年 itcast. All rights reserved.
 7 //
 8
 9 #import <UIKit/UIKit.h>
10
11 @interface YYViewController : UITableViewController
12
13 @end

直接让控制器继承UITableView controller,然后在storyboard中把以前的界面删掉,拖一个tableview controller就可以了。
注意:需要和主控制器类进行关联。
UITableView Controller里面有个tableview属性,在控制器中通过self.view获取出来的视图就是一个tableview。
即self.view=self.taleview。
且它默认已经把他的协议和数据源都已经实现好了,不再需要进行连线。

 1 //  UITableViewController.h
 2 //  UIKit
 3 //
 4 //  Copyright (c) 2008-2013, Apple Inc. All rights reserved.
 5 //
 6 #import <Foundation/Foundation.h>
 7 #import <UIKit/UIViewController.h>
 8 #import <UIKit/UITableView.h>
 9 #import <UIKit/UIKitDefines.h>
10
11 // Creates a table view with the correct dimensions and autoresizing, setting the datasource and delegate to self.
12 // In -viewWillAppear:, it reloads the table's data if it's empty. Otherwise, it deselects all rows (with or without animation) if clearsSelectionOnViewWillAppear is YES.
13 // In -viewDidAppear:, it flashes the table's scroll indicators.
14 // Implements -setEditing:animated: to toggle the editing state of the table.
15
16 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
17
18 - (id)initWithStyle:(UITableViewStyle)style;
19
20 @property(nonatomic,retain) UITableView *tableView;
21 @property(nonatomic) BOOL clearsSelectionOnViewWillAppear NS_AVAILABLE_IOS(3_2); // defaults to YES. If YES, any selection is cleared in viewWillAppear:
22
23 @property (nonatomic,retain) UIRefreshControl *refreshControl NS_AVAILABLE_IOS(6_0);
24
25 @end

点击右键,可以发现数据源和代理都已经连好了。
(应该把继承自uiviewcontroller的控制器干掉,重新拖一个tableview controller,和主控制器进行连线。)

转载于:https://www.cnblogs.com/dondre/p/4093291.html

iOS开发UI篇—直接使用UITableView Controller相关推荐

  1. iOS开发UI篇-在UItableview中实现加载更多功能

    iOS开发UI篇-在UItableview中实现加载更多功能 一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时 ...

  2. iOS开发UI篇—实现UITableview控件数据刷新

    iOS开发UI篇-实现UITableview控件数据刷新 一.项目文件结构和plist文件 二.实现效果 1.说明:这是一个英雄展示界面,点击选中行,可以修改改行英雄的名称(完成数据刷新的操作). 运 ...

  3. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇-UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) 1 #import <Foundation/Foundation.h&g ...

  4. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)

    iOS开发UI篇-使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...

  5. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇-UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  6. iOS开发UI篇—UITableviewcell的性能优化和缓存机制

    iOS开发UI篇-UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...

  7. iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局

    iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一.项目 ...

  8. iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序

    iOS开发UI篇-使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: 1 //2 // YY ...

  9. android tableview实现多选功能,iOS开发UI篇-tableView在编辑状态下的批量操作(多选)...

    先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...

最新文章

  1. Django和uwsgi,配合nginx做静态缓存
  2. string、wstring、cstring、 char、 tchar、int转换方法
  3. Faster R-CNN论文详解
  4. 信息收集——Office钓鱼
  5. canvas特效代码详解(2)
  6. 1000种对Java的响应没有死
  7. 关于用隐藏文字(图片替换文字)的更好的可用性方法
  8. Yii2在部署新机器时需要注意的环境问题
  9. Starlink的20ms延迟怎么计算得到的?
  10. 5320. 餐厅过滤器
  11. 鸿蒙升级最佳时间,鸿蒙升级时间确定,17款华为优先,荣耀或成遗珠!
  12. SmartAdmin(SmartAdmin_v1.5.2)
  13. 档案管理制度计算机管理制度,计算机管理档案制度
  14. 计算机如何连接wifi台式,无线网卡怎么连接台式电脑_台式机添加无线网的方法...
  15. word文档解密方法
  16. html电影详情页面,电影
  17. python视频换脸下载_Faceswap拍照换脸软件电脑版(faceswap gui视频换脸)1.2官方版
  18. 离线语音智能家居控制
  19. 位置与地图(二)地图的使用以及标注地图
  20. 高清网络摄像机 (High Definition IP Camera) 的延迟问题

热门文章

  1. Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
  2. oracle 时间小于,jquery easyui 对于开始时间小于结束时间的判断示例
  3. Java中JFrame怎样控制闪烁_在JFrame Java中闪烁
  4. 综合布线故障排除和诊断—DSX-600
  5. 设计模式:接口隔离原则
  6. 16个烧光你脑细胞的悖论
  7. Shell脚本案例:批量新增用户
  8. Shell脚本中循环until命令用法笔记
  9. jvm 崩溃日志设置_JVM致命错误日志(hs_err_pid.log)分析(转载)
  10. Mysql bat脚本编写_第一次编写bat脚本