iOS 总结 一
来源:互联网 发布:淘宝鼠标垫护腕 编辑:程序博客网 时间:2024/06/06 03:32
android是基于Linux内核设计的。
iOS是基于UNIX的
iOS的系统架构分为四个层次:
1.核心操作系统层(core OS)
2,核心服务层(Core SerVices)
3,媒体层(Media)
4,触摸层(Cocoa Touch)
我们主要面向的是最高层Cocoa Touch层,
Bundle identifier 软件的唯一标识 (创建项目时选择的)
class prefix 类前缀, (创建项目的选择)
iOS 5.0开始,用storyboard文件描述软件界面
storyboard 和nib的区别
storyboard:描述软件界面,大范围,重量级,比较适合描述整个软件的所有所有界面
xib;描述软件界面,小范围,轻量级,比较适合描述某个小界面(局部界面)
1,加载RowView.xib文件,创建objects下面的所有控件,并且按顺序装到数组中返回
NSArray *views=[NSBundle mainBundle] loadNIbName:@RowView”,owner”nil];
File’s owner使用步骤
1,在xib文件中设置File’s owner 的class属性 (目的是在xib中能到找owner 方法)
2,建立FIle’s Owner跟控件之间的联系
3,利用代码加载xib 传递owner参数。(类型一定匹配)
UIView和UIViewController 的关系
1,UIView 在屏幕上,能看得见,摸得着的东西都是UIVIew,比如按钮,图片,文字等,所有控件最终都继承自UIView
2,每一个UIView都是一个容器,可以容纳其他UIView.
UIViewController 的作用是:负责创建/销毁自己的UIView、显示/隐藏UIView、处理UIView和用户之间的交互(事件处理)。UIViewController 就是UIView的大管家.
UIView 内部有个UIVIew属性,就是它负责管理的UIView对象
程序启动过程
Main interface
1 Main starboard 加载最主要的storyboard文件
2,创建白色箭头把指的控制器对象(VIewController)
3,创建控制器内部的View ,显示到用户眼前。
SDK 就是开发包。
UIView常用属性
1,superview
@property(nonatomic,readonly)UIView *superview;
获得自己的父控件对象
2,subviews
@property(nonatomic,readonly,copy)NSArray *subviews;
获取自己的所有子控件对象(新添加的子控件会在subviews数组的最后面)
3,tag
@property(nonatomic) NSInteger tag;
控件的ID/标识,父控件可以通过tag来找到对应的子控件。
4,frame
@property(nonatomic)CGRect frame;
控件所在矩形框的位置和尺寸(以父控件的左上角为坐标原点),不包含状态栏
5,bounds
@property(nonatomic)CGRect bounds;
控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x/y一般为0)
6,center
@property(nonatomic)CGPoint center;
控件中点的位置(以父控件的左上角为坐标原点)
7,transform
@property(nonatomic)CGAffineTransform transform;做动画经常使用
控件的形变属性(可以设置旋转角度,比例缩放,平移等属性)
按钮操作
按钮的样式:
按钮的状态
1,normal: 普通(默认情况-Default)
2,highlighted (高亮)(手指按下去的时候)
控件的属性;
1,frame
1>表示控件的位置和尺寸(以父控件的左上角为坐标原点)
2>修改这个属性,可以调整控件的位置和尺寸
2,center
1>表示控件的中心(以父控件的左上角为坐标原点)
2>修改这个属性,可以调整控件的位置
3,bounds
1>表示控件的位置和尺寸(以自己的左上角位置坐标原点,位置永远是0,0)
2,修改这个属性,只能调整控件的尺寸
4,tab
1,表示控件的标识
2,通过不同标识可以区分不同的控件。
5 transform
1,表示控件的形变状态(旋转角度、缩放比例)
UISementdControl 的监听事件方法是 Value Changed
UIToolbar 工具条的基本使用
UIToolbar内部只能放UIBarButtonItem
UIImageView的帧动画
//设置需要播放的图片(到时会按照数组顺序播放)
@property(nonatomic,copy)NSArray *animationImages;
//动画的持续时间
@property(nonatomic)NSTimeInterval animationDuration;
//动画的执行次数(默认的是0,无限重复执行)
@property(nonatomic)NSInteger animationRepeatCount;
//开始动画
- (void)startAnimating;
//停止动画
- (void)stopAnimating;
//判断是正在执行动画
- (BOOL)isAnimating;
三,格式符补充
%03d:每个整数占据3个位置,多出的位置用0填充
比如:
[NSStringstringWithFormat:@"%03d",0];//返回的是 000
[NSStringstringWithFormat:@"%03d",7];//返回的是 007
[NSStringstringWithFormat:@"%03d",15];//返回的是015
[NSStringstringWithFormat:@"%03d",134];//返回的134
加载图片的两种方式
1.有缓存
UIImage *image=[UIImage ImageNamed:@“a.png”];
2,无缓存
//全路径
NSString *path=[[NSBundle mainBundle] pathForResource:@a.png ofType:nil];
//path 是a.png的全路径
UIImage *image=[UIImage alloc]initwithContentsofFile:path];
二,随机数生成
1.arc4random() 会生成任意正整数和0
2.arc4random_uniform(100) 会生成0~99的整数(包括0和99)
三,UIView常见方法
1,addSubview:(UIView*)child
添加子控件用(最新添加的子控件,会显示在最上面)
2,NSArray *subviews
通过addSubview:方法添加的子控件都会存在于这个数组中
3.removeFromSuperview
将控件本身从父控件中移除(控件本身也会从父控件的subviews数组中移除)
4,(UIView *)viewWithTag:(int)mytag
返回tag值为mytag的子控件
如果有多个子控件的tag一样,只会返回第一个匹配的子控件(在搜索tag匹配的控件时,也包含控件本身)
5 UIView *superview 父控件
- iOS总结《一》
- iOS 总结 一
- iOS 动画总结(一)
- iOS 笔记总结一
- iOS常见问题总结(一)
- iOS面试总结(一)
- iOS开发知识点总结(一)
- iOS学习总结(一)
- iOS总结控件一(UILabel)
- iOS面试总结(一)
- iOS 面试题总结(一)
- iOS常用代码总结(一)
- iOS面试题总结(一)
- iOS面试题总结(一)
- ios 基本知识总结(一)
- iOS Runtime总结(一)
- iOS 多线程总结(一)
- ARCGIS RUNTIME FOR IOS总结(一)
- ubantu查看版本并更新源
- ping主机名原理与抓包分析
- 香格里拉古城起火千人扑救
- TFont 类的常用属性:
- 与flex for each相约的那些 痛苦的岁月
- iOS 总结 一
- 外企九年,我最终选择放弃——送给和我一样纠结毕业是读研,国企,外企等等的人们
- 在OpenCV中自适应确定canny算法的分割门限
- Jira GreenHopper版本对应关系
- WPF TextBox只能输入数字
- 这是一个开始
- ubuntu下配置ssh遇到ssh_host_rsa_key和ssh_host_dsa_key无法加载解决办法
- 基于ArcGIS for javascript API 轨迹回放
- geoserver + postgis+postgresql+agslib.swc