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 父控件





0 0
原创粉丝点击