UI第十三课

主要内容:标签视图(UITabBarController)

一、使用场景

UITabBarController分为三层

UITabBarController的重要属性

属性 含义
viewControllers 显示视图控制器
tabBar 标签栏
delegate 代理
selectedIndex 选中某个tabBarItem

二、UITabBar

1、tabBar是UITabBar对象包含多个UITabBarItem,

2、每一个tabBarItem对应一个viewController,tabBar高度是49

3、当tabBarItem超过5个时,系统会自动添加一个更多按钮,点击更多按钮,剩下没有没有在底部出现的那些按钮会以列表的形式显示出来

4、tabBar属性:tintColor、barTintColor、图像设置

5、tabBarItem可以设置tittle、image、badgeValue

如果想通过一键设定所有导航控制器的颜色,类似于QQ的一键换肤的功能,可以通过UIAppearance协议进行操作,通过它可以对一些空间进行自定义颜色操作等

三、Block

block是匿名函数,能够实现函数的回调功能,用于页面间的通信,也可以用于传值

注意:

1、定义属性接收block,必须用copy,retain无效,即retain和assign会造成野指针问题

2、block在某个方法中定义时存储在栈区,在另一个类中使用需要进行copy,存储在堆区

3、当不使用block时,进行销毁,Block_release()

4、在block实现部分,不能直接使用实例变量、self调用属性、因为block会造成self引用计数+1,最终导致循环引用的问题

5、所有要使用__block解决循环引用的问题

block实现回调功能,清晰、简化代码

时间: 2024-12-16 08:13:03

UI第十三课的相关文章

【C++探索之旅】第一部分第十三课:第一部分小测验

内容简介 1.第一部分十三课:第一部分小测验 2.第二部分第一课预告:面向对象初探,string的惊天内幕 第一部分小测验 上一课中,我们学习了指针这个重中之重. 那么,我们第一部分的课程也圆满地落幕了.不过,小编怎么会这么轻易放过你呢?(其实我是善良的社会主义好青年好嘛). 因此,必须来点简单的测试题,检测一下学习的果效.不难的,不要担心. 测试题目 1.C++之父是谁? Birj Tromman Bjarne Stroustrup Barj Grossoup 2.将文本编辑器,编译器和调试器

第二十三课

第二十三课第一单元语法部分 Vておく<提前>:预先…… 口语形式:-とく 说明:   A.表示为后面要做的事情事先做好某种准备. B.表示采取某种行为,并使其结果的状态持续下去.   C.有时表示一种临时的措施. 例句:     1 日本へ行く前に日本語を習っておくつもりだ.    2 電気は消さないで 練習: 1.事先打个电话问一.朝までつけておこう.    3 その場で一応の手当てをしておいて.病院へ連れていった.下比较好 2.预先磨好刀. Vてある<客体存续的状态>: 说明:

NeHe OpenGL教程 第二十三课:球面映射

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十三课:球面映射 球面映射: 这一个将教会你如何把环境纹理包裹在你的3D模型上,让它看起来象反射了周围的场景一样. 球体环境映射是一个创建快速金属反射效果的方法,但它并不像真实世界里那么精确!我们从18课的代码开始来创建这个教程

NeHe OpenGL教程 第四十三课:FreeType库

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十三课:FreeType库 在OpenGL中使用FreeType库 使用FreeType库可以创建非常好看的反走样的字体,记住暴雪公司就是使用这个库的,就是那个做魔兽世界的.尝试一下吧,我只告诉你了基本的使用方式,你可以走的更远

NeHe OpenGL教程 第三十三课:TGA文件

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十三课:TGA文件 加载压缩和未压缩的TGA文件: 在这一课里,你将学会如何加载压缩和为压缩的TGA文件,由于它使用RLE压缩,所以非常的简单,你能很快地熟悉它的. 我见过很多人在游戏开发论坛或其它地方询问关于TGA读取的问题.

OpenGL教程翻译 第十三课 相机空间

OpenGL教程翻译 第十三课 相机空间 原文地址:http://ogldev.atspace.co.uk/(源码请从原文主页下载) Background 在上几节中我们看见两种类型的顶点变换.第一种类型的变换是改变对象的位置(平移),旋转,尺寸(放缩).这些变换允许我们在3D世界中把一个对象放在任何位置.第二种类型的变换是透视投影变换,把在3D世界坐标系下的顶点位置投影到2D世界坐标系下(比如一架飞机).一旦坐标变换为2D坐标,那么非常容易将这些2D坐标映射到屏幕空间坐标.这些坐标实际上被用来

UI第三课

主要内容:自定义视图.视图控制器 一.自定义视图 自定义视图:除系统提供UI之外,开发者自己组合而出的新的视图 根据需求不同,自定义视图要继承的类也不同,一般自定义的视图会继承于UIView: 步骤: 1.创建一个UIView的子类 2.在类的初始化方法中添加子视图 3.类的 .h 文件提供了一些接口(方法),便于外界操作子视图 二.视图控制器(UIViewController) 控制视图显示,响应事件,分担AppDelegate工作,实现模块的独立,提高复用性 功能: 1.控制视图大小变换.布

UI初学第二课

Case2 这次做的案例跟Case1是有关联的,既然Case1做了Game中的HUD上的UI,那么这次Case我就做个主菜单的UI. 逻辑思路:首先菜单上要有Play Game,Quit Game,这是最基础的,或者也可以加一些选项,例如选择角色,或者视频分辨率等等.这里做个简单案例就用一个选择视频分辨率来做吧.明确了需要的东西,那么实现的逻辑是什么呢?我需要点击PlayGame就进入Case1已经设置好了的Game,这里就不能忽视Unreal中的Level概念了,Case1是一个Level,如

深入浅出CChart 每日一课——快乐高四第十三课 月上柳梢,Win32标准控件ChartCtrl之牵手

上节课笨笨介绍了新增加的ChartCtrl控件,是在对话框中使用的.本节课简单介绍这个控件的另一种用法. 首先按照以前的步骤建立一个Win32Application. 增加WM_CREATE消息的响应例程如下. case WM_CREATE: HWND hW; hW = CreateWindow(_T("ChartCtrl"), _T("Cap"), WS_CHILD | WS_VISIBLE, 20, 20, 600, 400, hWnd, NULL, hInst