ios开发的一般步骤:
搭建界面 UI界面(User Interface)
发送网络请求 多线程/网络
网络数据解析 json/xml解析
在界面上进行数据展示 数据的封装展示
为了方便开发者开发出强大的功能,苹果提供了各种各样的框架:
(1) UIKit:创建和管理应用程序的用户界面
(2) QuartzCore:提供动画特效以及通过硬件进行渲染的能力
(3) CoreGraphics:提供2D绘制的基于C的api
(4) CoreLocation:使用GPS和WIFI获取位置信息
(5) MapKit:为应用程序提供内嵌地图的接口
(6) AVFoundation:音频,视频处理
UIViewController的作用:
每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,
UIViewController负责管理这个UIView
它负责创建,显示,销毁UIView,负责监听UIView内部事件,负责处理UIView与用户的交互。
程序的运行流程:
(1) 读取Main.storyboard文件
(2) 创建箭头所指的ViewController对象
(3) 根据storyboard文件中描述创建viewcontroller的UIView对象
(4) 将UIView对象显示到用户。
Company Identifier和Bundle Identifier的作用
Company Identifier:公司的唯一标示
Bundle Identifier:产品的唯一标示
IBAction和IBOutlet的作用
IBAction:用来和操作建立关系,IBAction本质是一个void,不过可以用来连线
IBOutlet:用来和界面上的元素建立关系,用来获取、修改界面控制的属性 。
退出键盘的两种方式
resignFirstResponder:当退出键盘的那个控件(第一响应者),调用这个方法时,就能退出键盘;
endEditing:只要调用这个方法的控件内部存在第一响应者,就能退出键盘。
常用UI控件
UIKit框架提供了非常多且功能强大的易用的UI控件:
UIButton 按钮 UIScrollView 滚动控件
UILabel 文本标签 UIPageControl 分页控件
UITextField 文本输入框 UITextView能滚动文字的显示控件
UIImageView 图片展示 UITableView 表格
UIProgressView进度条 UICollectionView 九宫格
UISlider 滑块 UIPickerView 选择器
UISwitch 开关 UIDatePicker 日期选择器
UISegmentControl 选项卡 UIWebView网页现实控件
UIActivityIndicator 圆圈 UIToolbar 工具条
UIAlertView 对话框 UINavigationBar 导航条
UIActionSheet 底部弹框
UIView的常见属性
@property(nonatomic,readonly) UIView *superview;
获得自己的父控件对象
@property(nonatomic,readonly,copy)NSArray *subviews;
获得自己的所有子控件对象
@property(nonatomic) NSInteger tag;
控件的ID(标识),父控件可以通过tag来找到对应的控件
@property(nonatomic) CGAffineTransform transform;
控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
@property(nonatomic) CGRect frame;
控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
@property(nonatomic) CGRect bounds;
控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
@property(nonatomic) CGPoint center;
控件中点的位置(以父控件的左上角为坐标原点)
延迟加载,懒加载
在需要时,才加载到内存中,
效率上:低
内存消耗:小