【静态单元格 Objective-C语言】

一、预习QQ动态

【静态单元格 Objective-C语言】_第1张图片

1.我们今天,是三、到四个任务,第一个任务,就是这个,预习QQ动态

【静态单元格 Objective-C语言】_第2张图片

OK,看到这个效果了吗

这是咱们第一个任务,第一个任务,是实现这么一个效果,

一看这个,就肯定是个啥,UITableView吧,

是不是肯定是一个TableView啊

又能滚动,又能显示一行一行的数据,

看到这个,大家可能会想,这个对于我们来说,是很简单了,

这个,你想一下,脑子里快速过一下,如果让你实现这个,你会怎么样实现,

是不是首先是把那个数据加载起来吧,

然后呢,设置这个UITableView的数据源对象,然后呢,实现数据源方法,

这里分几个section啊,分几组啊,

分三组

1)第一组:有几行,1行

2)第二组:有几行,2行

3)第三组:有几行,3行

然后呢,这每一个单元格里面,是不是就是一个图片框、和一个Label,

旁边又有一个小箭头,accessoryType

是不是用系统默认那个单元格,就够用了吧,

那么,这个我们其实,实现起来,很简单了,

其实这个,不需要讲,也可以,

2.但是,现在我要说的是,我们今天来实现这个效果呢,不使用我们之前学的那种方式,

我们之前学的那种方式,是不是要自己去设置数据源对象,

通过数据源对象,来去写这个单元格吧,

这种方式,叫做动态的方式,

什么叫做动态的方式呢,

在程序运行起来以后,它会根据你数据不同,会根据你数据模型的不同,然后呢,这里会展示出不同的效果来,

就是说,只要你把数据模型,一改了,程序运行起来以后,这个运行效果就变了,

比如说,你把数据模型,由三组,改成两组,

这儿是不是就变成两组了,

你把第一组里面,改成10行,那么这个地方,第一个就变成10行了,

那么,你把每个模型的图片、和文字,改了,程序运行起来之后,这个效果是不是都变了,

这种方式,就叫做动态的方式,

就是说,当我们使用UITableView的时候,有两种方式:

1)动态的方式:就是我们之前一直用的:设置数据源对象、然后懒加载、等等,那一系列的,那个叫动态的方式

2)静态的方式:我们等会儿就是用净态的方式,来实现一下这个东西,

同样这个效果,用静态单元格来实现

用动态也能实现,用静态也能实现

如果我们只有一个,这样的一个界面,用静态的,要比用动态的简单的多,

等会儿,我给大家介绍这个静态的

这是我们今天要说的第一个任务。

3.好,那么第二个任务,就是我们这里

我们第二个任务,就是这么一个任务,这就是有点儿类似于大家QQ好友列表啊

有点儿类似于QQ好友列表啊

那么,也就是说,这么多是不是我们QQ里面是不是分了这么多的组

分了这么多的组,有

1)我的好友:3/10,10和3分别表示什么意思,我的好友里面一共有10个人,有3个在线,有几个可能还在线、对你隐身、对吧

然后呢,点开

这是不是这个好友里面,有这么多个人吧

这个,是每一个朋友的他的头像

这个是这个朋友的昵称

红色表示他是会员

黑色表示不是会员

下面这个是表示这个人的签名吧

也就是说,我们要实现这个效果

看到了吗,是不是还能点击、展开、合上,这么一个效果


这就是我们要说的第二个任务,就是这个东西

4.那么,第三个

应用管理、我们之前是不是已经做过了

我们之前做的应用管理,是不是一个九宫格的方式吧

九宫格的方式来排列

但是,现在这个应用管理,使用的是什么方式,是不是使用的是UITableView、一行一行的来排列啊

之前,我们是用九宫格的方式,自己去算每一个单元格的坐标,

是不是很费劲

然后呢,现在呢,我们把它用、就是UITableView的方式,来做一下

那么,做一下,看一下怎么来用,

同时、还有一些小细节问题,需要提醒大家注意一下,

然后呢,当我点击“下载”按钮的时候,

下载按钮变成“已下载”

同时,弹出一个对话框,然后慢慢再让它隐藏掉

这是用什么实现的

是不是就是一个Label、动态创建Label,来实现的

这个地方,也得用到一个代理设计模式

一会儿咱们看一看这个效果

这是我们的第三个任务

主要任务,就这么三个

【静态单元格 Objective-C语言】_第3张图片

我给大家截个图,然后就把这个模拟器调回来了

好,我们要实现的是这么一个效果

二、静态单元格

1.接下来,这是今天的这个笔记,给大家写了一下

2.然后,在继续之前,把我们上次一点儿东西,再给大家简单过一下

那么,上次我们给大家说,当我们希望监听键盘的弹出事件的时候,怎么来监听呢,监听键盘弹出事件,怎么来监听呢,是代理吗,不是,是用什么,通知,

就是我们通过通知,是不是也可以监听事件吧,

我们监听键盘弹出事件,通过通知,来实现,

那么这里简单把通知、和通过代理,都能监听事件,通过通知也可以、通过代理也可以,

它们两个有什么样的相同点和不同点呢,

1)相同点:它们都可以用来监听事件,都可以完成对象之间的通信,什么叫做对象之间的通信呢,就比如说,UIScrollView这个对象,内部,滚动事件被触发,立刻通知控制器,因为控制器是它的代理,对吧,立刻通知控制器,是不是执行它某个代理方法啊,这是不是就是对象之间的通信啊,这就是对象之间的通信,UIScrollView对象,当它滚动的时候,这个事件一被触发,立刻通知它的代理对象,就是我们控制器,另外一个对象,然后呢,现在我被滚动了,请执行代理方法,

那么,这可以理解为通知、那么也可以理解成,是两个对象之间的通信,

UIScrollView、和控制器之间的通信啊,

那么,所以说,通过代理、或者说是通过通知,都可以实现对象之间的通信,

就是说,都可以实现通知,这个效果,

2)不同点:代理是一对一的关系,而通知可以是多对多的关系,

代理是一对一的关系,什么意思,我们只能、同一时间、只能为这个UIScrollView“点”delegate属性,设置一个代理对象啊,

只能为这个UIScrollView对象设置一个代理对象,

这个代理对象是不是就是控制器,

它是一对一的,当UIScrollView发生滚动的时候,它只能通知它的当前的代理对象,就是控制器,让它执行它的某一个代理方法,

它实现不了、无法实现,当UIScrollView一滚动的时候,一下通知十个对象,让它们都执行某个方法,

无法实现这种效果,因为它是一对一的关系,

你可能感兴趣的:(Objective-C,objective-c,前端,开发语言)