UI024: 静态单元格

1. 当需要监听事件或进行对象间的通信时,选择通知还是代理?

共同点:

利用通知和代理,都能完成对象之间的通信
(eg:A对象告诉D对象发生了什么事情,A对象传递数据给D对象)

不同点:

代理:一对一关系(1个对象只能告诉另1个对象发生了什么事情), 代理只能1对1.
通知:多对多关系(1个对象能告诉N个对象发生了什么事情,1个对象能得知N个对象发生了什么事情)。

如何监听设备旋转,电池电量改变,贴近脸部等事件。

通知。通过[UIDevice currentDevice] 单例,获取设备对象。对象中有设备相关的信息:电池电量值、电池状态、设备类型、设备系统等
UIDevice发送的通知的常量:
UIDeviceOrientationDidChangeNotification 设备旋转
UIDeviceBatteryStateDidChangeNotification 电池状态改变
UIDeviceBatteryLevelDidChangeNotification 电池电量改变
UIDeviceProximityStateDidChangeNotification 近距离传感器,如贴近脸部。

// 通知:监听系统的其他事件。
UIDevice  *device = [UIDevice currentDevice] 
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(m1:) 
    name:UIDeviceOrientationDidChangeNotification object:device];

2. 静态单元格

注意:使用静态单元格,必须使用UITableViewController控制器。

静态单元格-

静态单元格:不会随着数据的改变而改变,当在storyboard中设计的是什么样子,最后运行效果就是什么样子。不会随着数据的变化而变化。如果要改变静态单元格数据,必须storyboard重新修改代码。适合不经常变的页面,简单,开发快。

动态单元格:只要修改了数据模型,对应的单元格内容就发生变化。

动态和静态

// 静态单元格演示:QQ动态页面
TableView选择属性:Content---Static Cells/Dynamic Prototypes。

新建控制器,使用UITableViewController,拽入后会自动有TableView
选中里面的Table View,选Content,再选Static Cells。设置UITableView为静态单元格。

选中其中的Cell,选Style--Basic(左边图,中间文本,右边箭头)。
选中UITableView,选择属性,先选择Style:Grouped;Sections设置组数量3。
生成3组,每组都没有组标题。

静态单元格使用建议


2023/06/02 周五

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 中医的魅力所在 “辩证论治”是中医学的基本特点之一,是中医诊断和治疗疾病的基本原则,是中医理、法、方、药理论在临床...
    手抖小知识白羊阅读 81评论 0 0
  • 1.什么是UIKit和Foundation框架?请解释它们的作用和区别。 答案: UIKit和Foundation...
    anny_4243阅读 247评论 0 1
  • 20230526 《会痛的不是爱》180笔记 所有前来向我请求帮助的人,都是为了拯救我 笔记 1 我们给出的(付出...
    每天都微笑阅读 101评论 0 1
  • 中医的魅力所在 “辩证论治”是中医学的基本特点之一,是中医诊断和治疗疾病的基本原则,是中医理、法、方、药理论在临床...
    帕金森大健康阅读 54评论 0 0
  • 只要装修就一定会产生甲醛污染,而这些甲醛除了装修材料外,家具也是会造成甲醛超标的重要原因,因此这就证明了挑选环保家...
    风向生活阅读 62评论 0 0