首先大家想要学习UI得了解什么是UI,UI就是UserInterface,用户界面或者用户交互的意思
下面我将具体的把UI的知识点列出来,供大家学习,你可以一个知识点一个知识点的学习,切记学习不能太过着急,脚踏实地一步一个脚印才是真谛.
所有的视图都是矩形
CGRect, CGSize, CGPoint
CGRectGetMaxX(),CGRectGetMaxY();
CGRectGetMinX(), CGRectGetMinX();
UI坐标系
左上角是原点(0,0)
坐标系的单位:pt(point)
原点(0,0)--------> x
|
|
|
V
y
pt和px的关系, 起决于设备
iphone1,3g,3gs: 1pt = 1px image.peng
iphone4,4s,5,5s,5c,6 1pt = 2px image@2x.peng
iPhone6plus 1pt = 3px image@3x.peng
[UIImage imageNamed:@"image"];
屏幕大小,取决于设备
iPhone 1,3g,3gs,4, 4s 320*480pt
iphone 5,5s,5c 320*568pt
iphone 6 375*667pt
iPhone 6plus 414*736pt
控件
控件的基类UIView
他的属性:backgroudColor背景颜色
frame位置
bounds大小
center中点
hidden影藏
layer层次
tag标记
alpha不透明程度
subversion子视图
superview父视图
创建控件的步骤
1.根据API文档中的提供的创建方法创建控件,设置frame
2.设置属性
3.添加到父视图
4.释放
常用的控件(五星级)<学好控件>
1.UIWindow 窗口
2.UILabel 标签视图
3.UIButton 按钮
4.UITextField 单行文本输入框
5.UITextView 多行文本输入视图
6.UIImageView 图片视图
7.UIAlertView 警告框
8.UIActionSheet 动作表单
9.UISegmentedControl 分段控制器
10.UISlider 滑块
11.UIProgressView 进度条
12.UISwitch 开关
13.UIScrollView 滚动视图
14.UITableView 表视图
15.UICollectionView 集合视图
16.UIRefreshControl 下拉刷新菊花
17.UIPageControl 页码控制器
18.UINavigationBar 导航栏
19.UITabBar 标枪
20.UIToolbar 工具栏
21.UISearchBar 搜索栏
22.UIDatePicker 日期选择器
23.UIPickerView 选择器
24.UIStepper 计步器
在这还有一些自定义控件,自定义控件需要根据需要书写
MVC: 设计框架
1.UIViewController,视图控制器
viewDidLoad,视图加载完成
viewWillApper,视图将要出现
viewDidApper,视图已经出现
viewWillDisapper,视图将要消失
viewDidDisapper,视图已经消失
2.UINavigationController,导航控制器,管理层级页面
3.UITabBarController,标签视图控制器,管理平级页面
4.UITableViewController,表视图控制器
5.UICollectionViewController, 集合视图控制器
6.UIImagePickerController, 图片选择控制器
通信方式
1.target-action
2.delagate / dataSource
3.KVO / Notification
传值方式
1.属性
2.deledate / block
3.单例
数据持久化方式
1.文件读写
2.归档 / 反归档
3.NSUserDefaults
4.sqlite数据库
5.CoreData
事件
1.触摸事件
2.晃动事件
3.远程控制事件
响应者链
从大范围到小范围,直到找到触摸的视图
注:userInteractionEnabled可以阻断响应者链
处理事件
从小范围到大范围,直到有视图处理
动画
UIView:属性动画,过渡动画
CAAnimation:基本动画,关键帧动画,过渡动画,组动画
多线程
NSObject
NSThread
NSOperationQueue
GCD
沙盒机制
<文件>
Documents
Library
tmp
*.app
工具类
NSNumber,把基本数据类型装换成对象
NSValue,把结构体装换成对象
NSDateFormatter,把NSDate转换成NSString
NSKeyedArchiver,把数据存放到NSMutableData
NSKeyedUnarchive,从NSData中找数据
NSFileManager,文件管理(增删改查)
UIColor,颜色管理
UIFont,字体管理
UIImage,图片管理
概念
线程和进程
同步和异步
串行和并发
KVC和KVO
GET和POST
XML和JSON
SAX和DOM
常用的第三方
MJRefresh,下拉刷新,上拉加载
MBProgressHUD,菊花
SDWebImage,异步加载图片
AFNetworking,网络请求封装(https://github.com/AFNetworking/AFNetworking官方地址)
FMDB,OC语法对sqlate数据库处理(https://github.com/ccgus/fmdb官方地址)
AFNetworking 基于NSURLConnection做的封装
开辟线程
自动解析
block实现
最后:这是我根据自己脑海中的对ui的理解写的,如果有遗漏的或者不对的地方敬请原谅