IOS开发UI—UI控件概览
来源:互联网 发布:唱吧上传出现网络异常 编辑:程序博客网 时间:2024/05/17 00:53
一、首先来了解下项目的基本结构
1. 在新建好一个项目后
Main.storyboard:程序可视化的界面,可以通过拖拉控件来这里,代替写代码;
LaunchScreen.xib:程序启动界面(每一个运用程序刚启动的时候会有一个短暂的过度界面,可用于推送等等)。会先显示这个界面在进入程序主界面。【另一种办法是在Images.xcassets里面设置】
Images.xcassets:图片资源放置
Supporting Files:运用程序需要用到的所有资源(除图片之外的)
Products:???
2. ios开发过程
开发步骤:
1. UIKit,顾名思义跟UI有关,主要的界面元素都是封装在uikit内部的;
2. 利用UIKit框架提供的类来创建各种可视化组件对象,最后可以组成复杂而美观的UI界面;
三、UI控件概览(图片源自网路)
文字显示:
1> UILable 文本标签: 作用是显示一串固定的文字
2> UIButton 按钮: 监听用户的点击事件,在用户点击后做出响应
3> UITextFiled 文本输入框: 可以弹出键盘,让用户输入文本内容
4> UITextView 能滚动的文字显示控件: 如果文字比较多,需要换行显示,并且需要编辑
进度显示:
5> UIProgressView 进度条: 像游戏中的加载进度条一样,主要是用于显示文件的下载速度,程序的启动速度等
6> UISlider 滑块: 在两个数值之间选择,如调节屏幕亮度、音量大小等
8> UIActivityIndicator 圈圈(活动指示器、等待指示器): 一直转圈圈,表示用户需要等待
弹框提醒:
9> UIAlertView 对话框:(中间弹框)从中间弹出一个框提示用户下一步该做什么
10> UIActionSheet 底部弹框: 从底部弹出一个框提示用户下一步该做什么
滚动视图:
11> UIScrollView 滚动的控件: 如果控件比较多,可以使用这个,像滚动视图等
12> UIPageControl 分页控件: 能显示当前的页码
13> UITableView 表格: 如果每一行显示的内容格式差不多,就用这个表格控件
14> UICollectionView 九宫格: 如果显示的东西是一块一块、一格一格的,而且每个格子长的差不多,就可以用它
15> UIWebView 网页显示控件: 一般用来显示网页,使用它,就可以在手机上浏览网
开关:
16> UISwitch 开关
17> UISegmentControl 选项卡:
18> UIPickerView 选择器: 在多行数据之间只选择一行
19> UIDatePicker 日期选择器
工具条:
20> UIToolbar 工具条: 一般显示在底部或者键盘顶部,里面有几个小按钮
21> UINavigationBar 导航条: 显示在顶部的条
四、控件常见属性
1. 每一个UI控件都是一个对象;
2. 修改UI控件的状态,其实就是修改UI控件的属性;(如修改UILable显示的文字,就是修改UILable对象的text属性)
3. 每一个UI控件都有不同的许多的属性;(具有独特的属性,公共属性都定义在UIView中)
4. UIView常见的属性
@property(nonatomic) CGRect frame: 能修改位置和尺寸 (控件所在矩形框在父控件中的位置和尺寸,以父控件的左上角为坐标原点)(可定义控件的位置origin 和 大小size)
@property(nonatomic) CGPointt center: 能修改位置(控件的中心点在其父控件坐标系中的位置坐标, 以父控件的左上角为坐标原点)(可以定义控件的位置origin)
@property(nonatomic) CGRect bounds: 能修改尺寸(控件所在矩形框的位置和尺寸,以自己的左上角为坐标原点)(可定义控件的大小size,注意不能定义位置)
*: 上面的三个属性是UIView类中非常重要的属性(需要注意的是当前的坐标是针对父视图的还是视图自己的)
@property(nonatomic,readonly) UIView *superview: 获得自己的父控件对象
@property(nonatomic,readonly,copy) NSArray *subviews: 获得自己的所有子控件对象
// 使用forin循环遍历 获取当前控制器所管理的view的所有子控件 for (UIView *view in self.view.subviews) { view.backgroundColor = [UIColor redColor]; }@property(nonatomic) NSInteger tag: 控件的ID(标识),父控件可以通过tag来找到对应的子控件
@property(nonatomic) CGAffineTransform transform: 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
5. UIView常见的方法
- (void)addSubview:(UIView *)view; 添加一个子控件view
- (void)removeFromSuperview; 从父控件中移除
- (UIView *)viewWithTag:(NSInteger)tag; 根据一个tag标识找出对应的控件(一般都是子控件)
* 前面谈到父控件与子控件,注意并不是继承的关系,这是因为我们的控件都是放在一个容器中的,容器中存在着包含关系[类似于DIV CSS 中的容器]。A容器中存B容器
并不是说A继承B
* 关于属性的案例在下一节Button中会结合按钮实例解析
五、UIKit坐标系
在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸:
IOS的坐标空间分为“逻辑坐标空间”和“设备坐标空间”。前者的度量单位是“点”,后者的是“像素”。ios中所有与绘图相关的框架,如UIKit Core Graphics 与Core Animation均是针对逻辑坐标空间的。逻辑坐标空间与设备坐标空间存在映射关系。(思考?)
* 额外: ios中为什么坐标值会有小数部分,这是因为ios设备具有子像素渲染(Subpixel Rendering)技术,能够在相邻的像素之间通过插值算法来渲染图形,使得图像更加平滑、过渡更加自然。
- IOS开发UI—UI控件概览
- Ios开发之UI控件
- iOS开发-UI控件:日历选取控件
- UI 概览
- iOS开发UI篇—UIScrollView控件介绍
- iOS开发UI篇—UIPickerView控件简单介绍
- iOS开发UI篇—Quartz2D(自定义UIImageView控件)
- iOS开发UI篇—UIScrollView控件介绍
- iOS开发UI篇—UITableview控件简单介绍
- iOS开发UI篇—UITableview控件基本使用
- iOS开发UI篇—UITableview控件使用小结
- iOS开发UI篇—UIScrollView控件介绍
- iOS开发UI篇—UIScrollView控件介绍
- iOS开发UI篇—UITableview控件简单介绍
- iOS开发UI基础—16UIScrollView控件介绍
- iOS开发UI基础—18UITableview控件简单介绍
- iOS开发UI基础—19UITableview控件基本使用
- iOS开发UI基础—25UITableview控件使用小结
- oracle基础知识
- MyEclipse使用总结——MyEclipse10安装SVN插件
- elasticsearch更新文档数据
- WiFi 移植记录及心得 <一>
- SVN的安装
- IOS开发UI—UI控件概览
- Linux系统文件描述符理解
- jdbc连接postgresql
- 51nod 1346:递归
- Logback日志系统配置攻略
- 用正则判断一个字符串是否包含中文
- oracle常用函数
- django中实现图片上传
- wireshark-实时抓取移动设备上的通信包(Wireshark+nc+tcpdump)