iOS-学习笔记-UI-第六天
来源:互联网 发布:知乎一句话 编辑:程序博客网 时间:2024/05/17 16:01
回顾:
1. 多界面的切换
方式一:两个VC之间直接切换,使用控制器preset和dismiss方法
方式二:通过控制器来管理界面
2. 多界面之间的传值
2.1 正向传值
2.2 反向传值
方式一:在被推出的VC中声明一个属性,记录推出方引用
方式二:委托模式
3. UINavigationController
3.1 继承自UIViewController,作用:管理VC的走向
3.2 本身没有独立完整的界面,只能是依靠加载的VC来完成界面的显示
3.3 导航栏
配置左中右,
左/右:navigationItem.left/rightBarButtonItem/s
中:title
今天:
1. UINavigationController
1.1 实现原理
导航控制器有一个属性叫做viewControllers,是一个数组,但是这个数组是使用 "栈"的形式来进行管理的数据的。
栈:存储特点 先进后出,后进先出
每次 push出一个界面,就是将新的VC记录到栈中,导航显示栈顶的那个VC作为当前界面,被压入栈中的每一个VC在没有pop之前都没有释放,都被栈记录着
每次 pop一个界面时,就将栈顶的VC释放点,但根VC不能被释放。
1.2 配置toolBar
(1)默认工具栏时隐藏的需要修改为显示
(2)toolBar中容纳多个UIBarButtonItem类型的实例
(3)UIBarButtonItem特效按钮
作用:无显示外观,但可以在空间维持一个距离,
木棍特效:定长的距离
弹簧特效:可伸缩,长度自适应后自动改变距离
2. 图片控件
2.1 类型:UIImageView
2.2 作用:显示图片
NSString 存储字符串
NSImage 存储图片
NSImageView 显示存储的图片
2.3 如何使用:
方式一:代码的方式
(1)创建UIImageView的实例
(2)设置frame
(3)设置Image属性
(4)添加到view中
方式二: 在 xib中拖拽控件
2.4 设置显示模式
contentMode属性
UIViewContentModeScaleAspectFIll 保持宽高比,填满整个imageVIew,在宽高比不合适的情况下,只显示图片的一部分。
UIViewContentModeScaleAspectFit 保持宽高比,显示图片的全部,可能会留白
UIViewContentModeScaleToTill 默认情况,将图片拉伸,以填满imageView,可能会变形。
3. UIScrollView
3.1 是什么?
一种可以i 滚动的视图,通过用户手指的滑动完成区域的变换。
3.2 作用?
在有限的屏幕空间下,能够查看更多的文字或图片
3.3 如何使用?
基本特点:继承自UIView,但是自己不能独立的显示,是个空壳,依靠承载其他的视图来完成界面的显示。同时,加载的视图可以以子视图的添加方式,添加多个,只要设定好添加的子视图的坐标,就可以完成scrollView中的排布。
核心属性:
frame:设置scrollView显示的区域
contentSize:设置滚动视图内的完整区域的消息,内容的大小
contentOffset:记录可视化窗口的左顶点与内容的左顶点之间的偏移量
contentInset:内容可滚动的区域的边界,内容与外边界的距离
一般属性:
bounces:设置边缘释放可以弹跳
showsHorizontalScrollIndicator:是否显示水平滚动条
showsVerticalScrollIndicator:是否显示竖直滚动条
3.4 如何设置scrollView支持缩放
(1)设置scrollView的最大和最小的缩放比例
(2)设置scrollView的代理
(3)代理负责回答一个问题:scrollVIew的那个子视图可以缩放
3.5 练习:制作欢迎界面
实现思路:将4张图片以子视图的形式,添加到scrollView中,并且,左顶点依据顺序依此排开,大小按照frame一屏的大小。
- iOS-学习笔记-UI-第六天
- ios-第六天笔记
- iOS-学习笔记-UI-第二天
- iOS-学习笔记-UI-第四天
- iOS-学习笔记-UI-第十天
- iOS-学习笔记-UI-第十二天
- iOS-学习笔记-UI-第十六天
- 第六天学习笔记
- 第六天学习笔记
- 学习笔记第六天
- IOS学习笔记UI篇
- iOS基础教程:iOS-UI-CoreData学习笔记
- 学习iOS的第六天
- iOS ui 学习 1-2天的笔记
- java学习笔记--第六天
- JAVA学习第六天笔记
- 第六十二天学习笔记
- 第六十六天学习笔记
- Java基础 Java与C++的几点细节不同
- Android Fragment完全解析
- Python基础:21包装
- Linux GCC常用命令 与 gcc 编译器常用的命令行参数一览
- Openstack juno Swift 多节点HA安装配置
- iOS-学习笔记-UI-第六天
- 求正整数 n 所有可能的和式的组合
- android多语言切换
- 六、Linux/UNIX操作命令积累【kill、netstat、df、du】
- Java虚拟机ClassLoader知识详解(2)
- Spring中引入properties文件
- Pet类
- hihoCode 第49周 欧拉路 的C实现方法
- 设计模式——单例模式