博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发UI篇—直接使用UITableView Controller
阅读量:5223 次
发布时间:2019-06-14

本文共 2441 字,大约阅读时间需要 8 分钟。

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 
10 11 @interface YYViewController : UIViewController12 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 
10 11 @interface YYViewController : UITableViewController12 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 
7 #import
8 #import
9 #import
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
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/sunflower-lhb/p/4900885.html

你可能感兴趣的文章
【SICP练习】85 练习2.57
查看>>
runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
查看>>
Maximum Product Subarray
查看>>
solr相关配置翻译
查看>>
通过beego快速创建一个Restful风格API项目及API文档自动化(转)
查看>>
解决DataSnap支持的Tcp长连接数受限的两种方法
查看>>
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
查看>>
ASP.NET MVC5 高级编程-学习日记-第二章 控制器
查看>>
Hibernate中inverse="true"的理解
查看>>
高级滤波
查看>>
使用arcpy添加grb2数据到镶嵌数据集中
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>
15.210控制台故障分析(解决问题的思路)
查看>>
BS调用本地应用程序的步骤
查看>>
常用到的多种锁(随时可能修改)
查看>>
用UL标签+CSS实现的柱状图
查看>>
mfc Edit控件属性
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>