IOS基础 总结
来源:互联网 发布:纪念册制作软件app 编辑:程序博客网 时间:2024/05/01 23:27
(一)在.m文件中声明的方法都是私有方法,外界是无法访问的,这就保证了程序的封装性
(二)
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;
控件中点的位置(以父控件的左上角为坐标原点)
(三)
UIView常见方法
- (void)addSubview:(UIView *)view;
添加一个子控件view
- (void)removeFromSuperview;
从父控件中移除
- (UIView *)viewWithTag:(NSInteger)tag;
根据一个tag标识找出对应的控件(一般都是子控件)
(四)
Images.xcassets文件中不能识别JPG格式的图片文件
(五)
如果发现通过代码无法修改控件的位置或者尺寸时,应该去掉storyboard里面的autolayout功能,这是自iOS6开始出现的特性
autolayout是用来自动布局的,用来束缚控件的位置和尺寸。去掉这个功能,控件的位置和尺寸就不再有一些固定的束缚
(六)
对于控件的大小位置旋转等属性的改变需要注意,这些都是由结构体属性控制的
OC语法规定:不允许直接修改对象的结构体属性的成员,所以要修改这些属性值
必须首先获取控件的结构体,修改之后再赋值。
(七)
通过以下属性可以修改控件的位置
(1)
frame.origin
(2)
center
通过以下属性可以修改控件的尺寸
(1)
frame.size
利用transform属性可以修改控件的位移(位置)、缩放、旋转
创建一个transform属性
(1)CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
(2)CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
(3)CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(angle是弧度制,并不是角度制)
在某个transform的基础上进行叠加
(1)CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
(2)CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
(3)CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
(九)
清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
(十)
storyboard的本质就是根据图形界面描述转成相应的代码
(十一)
动画的实现两种方式:
第一种:
头尾式
[UIView commitAnimations];
第二种:第二个参数是敲回车键之后添加的执行代码
Block式
[UIView animateWithDuration:0.5 animations:^{
/** 需要执行动画的代码 **/
} ];
(十二)
一个UIImage对象代表一张图片,一般通过imageNamed:方法就可以通过文件名加载项目中的图片
(文件名可以省略扩展名)
UIImage *image = [UIImage imageNamed:@"btn_01"];
如果是JPG格式的图片不能省略文件名的扩展名
(十三)
常用快捷键
(1)option + command + 回车键 :打开辅助视图
(2)command + 回车键:取消辅助视图
(3)cmd + 0 :打开或者取消左边的导航栏
(4) option + cmd 0 :打开或者取消右边的属性视图
(十四)
将属性放在get方法中初始化的方式,称为“懒加载”\”延迟加载”
get方法就是直接根据属性名获取其属性值的方法。这个方法会返回一个属性的值
(十五)获取文件的全路径(plist文件)
获得Plist文件的全路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"imageData" ofType:@"plist"];
加载plist文件
在创建plist文件时可以选择创建的是一个数组还是一个词典,创建的是一个数组就会的返回一个数组
NSString *images = [[NSString alloc] init ];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"imageData" ofType:@"plist"];
_images = [NSArray arrayWithContentsOfFile:path];
images = [NSArray arrayWithContentsOfFile:path];
(十六)
UIImageView可以以帧格式进行播放,播放时使用的只一个images数组。
相关属性以及方法介绍:
属性
@property(nonatomic,copy) NSArray *animationImages;
需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片)
@property(nonatomic) NSTimeInterval animationDuration;
帧动画的持续时间
@property(nonatomic) NSInteger animationRepeatCount;
帧动画的执行次数(默认是无限循环)
方法:
(1)- (void)startAnimating;
开始执行帧动画
(2)- (void)stopAnimating;
停止执行帧动画
(3)- (BOOL)isAnimating;
是否正在执行帧动画
(十七)UIImage的加载方式以及区别
(1)有缓存(图片所占用的内存会一直停留在程序中)
+ (UIImage *)imageNamed:(NSString *)name;
name是图片的文件名
(2)无缓存(图片所占用的内存会在一些特定操作后被清除)
+ (UIImage *)imageWithContentsOfFile:(NSString *)path;
- (id)initWithContentsOfFile:(NSString *)path;
path是图片的全路径
(十八)
属性的调用使用“.”方法的调用使用[].。
(十九)代码的封装
将重复出现的代码抽取到某个方法中,在需要这份代码的地方调用方法即可
原则:
将相同的代码放到一个方法中
将不同的值当做方法参数传进来
(二)
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;
控件中点的位置(以父控件的左上角为坐标原点)
(三)
UIView常见方法
- (void)addSubview:(UIView *)view;
添加一个子控件view
- (void)removeFromSuperview;
从父控件中移除
- (UIView *)viewWithTag:(NSInteger)tag;
根据一个tag标识找出对应的控件(一般都是子控件)
(四)
Images.xcassets文件中不能识别JPG格式的图片文件
(五)
如果发现通过代码无法修改控件的位置或者尺寸时,应该去掉storyboard里面的autolayout功能,这是自iOS6开始出现的特性
autolayout是用来自动布局的,用来束缚控件的位置和尺寸。去掉这个功能,控件的位置和尺寸就不再有一些固定的束缚
(六)
对于控件的大小位置旋转等属性的改变需要注意,这些都是由结构体属性控制的
OC语法规定:不允许直接修改对象的结构体属性的成员,所以要修改这些属性值
必须首先获取控件的结构体,修改之后再赋值。
(七)
通过以下属性可以修改控件的位置
(1)
frame.origin
(2)
center
通过以下属性可以修改控件的尺寸
(1)
frame.size
(2)bounds.size
利用transform属性可以修改控件的位移(位置)、缩放、旋转
创建一个transform属性
(1)CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
(2)CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
(3)CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(angle是弧度制,并不是角度制)
在某个transform的基础上进行叠加
(1)CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
(2)CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
(3)CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
(九)
清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
(十)
storyboard的本质就是根据图形界面描述转成相应的代码
(十一)
动画的实现两种方式:
第一种:
头尾式
[UIView beginAnimations:nil context:nil];
[UIView commitAnimations];
第二种:第二个参数是敲回车键之后添加的执行代码
Block式
[UIView animateWithDuration:0.5 animations:^{
/** 需要执行动画的代码 **/
} ];
(十二)
一个UIImage对象代表一张图片,一般通过imageNamed:方法就可以通过文件名加载项目中的图片
(文件名可以省略扩展名)
UIImage *image = [UIImage imageNamed:@"btn_01"];
如果是JPG格式的图片不能省略文件名的扩展名
(十三)
常用快捷键
(1)option + command + 回车键 :打开辅助视图
(2)command + 回车键:取消辅助视图
(3)cmd + 0 :打开或者取消左边的导航栏
(4) option + cmd 0 :打开或者取消右边的属性视图
(十四)
将属性放在get方法中初始化的方式,称为“懒加载”\”延迟加载”
get方法就是直接根据属性名获取其属性值的方法。这个方法会返回一个属性的值
(十五)获取文件的全路径(plist文件)
获得Plist文件的全路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"imageData" ofType:@"plist"];
加载plist文件
在创建plist文件时可以选择创建的是一个数组还是一个词典,创建的是一个数组就会的返回一个数组
NSString *images = [[NSString alloc] init ];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"imageData" ofType:@"plist"];
_images = [NSArray arrayWithContentsOfFile:path];
images = [NSArray arrayWithContentsOfFile:path];
(十六)
UIImageView可以以帧格式进行播放,播放时使用的只一个images数组。
相关属性以及方法介绍:
属性
@property(nonatomic,copy) NSArray *animationImages;
需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片)
@property(nonatomic) NSTimeInterval animationDuration;
帧动画的持续时间
@property(nonatomic) NSInteger animationRepeatCount;
帧动画的执行次数(默认是无限循环)
方法:
(1)- (void)startAnimating;
开始执行帧动画
(2)- (void)stopAnimating;
停止执行帧动画
(3)- (BOOL)isAnimating;
是否正在执行帧动画
(十七)UIImage的加载方式以及区别
(1)有缓存(图片所占用的内存会一直停留在程序中)
+ (UIImage *)imageNamed:(NSString *)name;
name是图片的文件名
(2)无缓存(图片所占用的内存会在一些特定操作后被清除)
+ (UIImage *)imageWithContentsOfFile:(NSString *)path;
- (id)initWithContentsOfFile:(NSString *)path;
path是图片的全路径
(十八)
属性的调用使用“.”方法的调用使用[].。
(十九)代码的封装
将重复出现的代码抽取到某个方法中,在需要这份代码的地方调用方法即可
原则:
将相同的代码放到一个方法中
将不同的值当做方法参数传进来
0 0
- IOS基础 总结
- Ios基础知识点总结
- iOS基础控件总结
- IOS基础总结
- iOS基础:多线程总结
- IOS基础点总结
- iOS 基础总结
- iOS基础总结
- iOS基础总结
- ios 基础知识点总结
- IOS UI基础控件总结
- ios 基础工具类总结
- iOS 动画基础总结篇
- iOS 动画基础总结篇
- iOS 动画基础总结篇
- iOS基础学习总结(OC基础总结)
- ios学习笔记13-开发基础总结
- ios之基础tableview的问题总结
- Socket基本API 总结
- 定时器-NSTimer
- HDOJ 3664 Permutation Counting
- 运维角度浅谈:MySQL数据库优化
- LeetCode——Reverse Integer
- IOS基础 总结
- JOG运动参数设置
- [转] 正则表达式
- 二叉树遍历
- 通过已有Nginx镜像创建私有仓库
- Android App App助手、应用助手
- const与&引用
- No active compatible AVD's or devices found. Relaunch this configuration after connecting a device o
- 快速启动关闭MySQL服务的批处理代码