码迷,mamicode.com
首页 > 移动开发 > 详细

ios基础知识--03

时间:2016-05-13 00:09:08      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:

设备

屏幕类型

屏幕尺寸

分辨率(像素)

iPhone 3GS

Retina

3.5 inch

320*480

320x480

iPhone4\4S

Retina

3.5 inch

320*480

640x960

iPhone5\5C\5S

Retina

4 inch

320*568

640x1136

iPhone6

Retina

4.7 inch

375*667

750x1334

iPhone6 Plus

Retina

5.5 inch

414*736

1242x2208

retina屏幕下一个点表示2个像素,在非retina屏幕下一个点表示1个像素。在iphone6 plus 下一个点表示3个像素。

 

结论1:在同样一个尺寸的屏幕下由于使用的屏幕不一样(retina和非retina,所以造成的屏幕分辨率会不同。也就是说,同样是30*30的像素,在3.5 inch大小的屏幕上,如果是非retina显示会大一些, retina屏幕显示会小一些。

结论2:所以在开发中使用的是点。(比如使用30*30,不是表示30像素,而是表示30点,这样的话iOS系统会自动把点转换为对应的像素)。

?      1> retina屏幕1个点表示1像素

?      2> retian屏幕1个点表示2像素

?      3> iPhone6 Plus1个点表示3像素

结论3:因为程序中的是点, iOS系统会自动把点转换为不同的像素去找图片,所以图片对应的也要准备多份不同的图片。

@2x (视网膜屏幕,在原来点坐标的大小上乘以2)

@3x

比如:btn_left这张图,在代码中写的时候使用的是btn_left,iOS会根据实际的屏幕去查找btn_left.png或者是btn_left@2x.png或者btn_left@3x.png

Default-568h@2x

?      568表示iPhone5

?      h 表示高度

?      上面的这些都是固定写法,顺序不能调换

总结:iOS开发面向的是点坐标系,不是像素

一个app在启动过程中会全屏显示叫做Default.png的图片

不用规格Default的使用场合

Default.png:非retina-iPhone屏幕(3.5 inch),320x480

Default@2x.pngretina-iPhone屏幕(3.5 inch),640x960

Default-568h@2x.png4 inchretina-iPhone屏幕,640x1136

Default-Portrait~ipad.png:非retain-iPad竖屏屏幕,768x1024

Default-Portrait~ipad@2x.pngretain-iPad竖屏屏幕,1536x2048

Default-Landscape~ipad.png:非retain-iPad横屏屏幕,1024x768

Default-Landscape~ipad@2x.pngretain-iPad横屏屏幕,2048x1536

 

应用程序图标:

只要文件名叫做Icon.png,就会自动被当做是应用程序的图标

一个应用程序可以准备多种规格的图标,详情可以查看苹果官方文档,如右图

 

 

 

启动图片:

1.LaunchScreen

2.launch image souce

 

 

UIButton

UIButton有很多种状态,它提供了一些便捷属性,可以直接获取当前状态下的文字、文字颜色、图片等

@property(nonatomic,readonly,retain)NSString *currentTitle;

@property(nonatomic,readonly,retain)UIColor  *currentTitleColor;       

@property(nonatomic,readonly,retain)UIImage  *currentImage;            

@property(nonatomic,readonly,retain)UIImage  *currentBackgroundImage;

 

 

 

 

 

状态栏:

iOS7中,状态栏默认情况下归控制器管理,比如状态栏的样式、状态栏的是否可见

控制器通过重写以下方法来控制状态栏

设置状态栏的样式

(UIStatusBarStyle)preferredStatusBarStyle;

其中UIStatusBarStyleLightContent是白色样式

设置状态栏的可见性

-(BOOL)prefersStatusBarHidden;

 

-(UIStatusBarStyle)preferredStatusBarStyle{

    return  UIStatusBarStyleLightContent;

}

 

- (BOOL) prefersStatusBarHidden{

    return YES;

   

 

}

 

 

 

1. 将图片移动到视图的顶层

//bringSubviewToFront 调用方法的这个view,必须是被携带view的父view

[self.viewbringSubviewToFront:self.imageView]

 

 

//userInteractionEnabled = NO 禁止任何用户交互,如果是父view设置了这个属性为no,那么它的子view也将不会接受用户交互

 

使用kvc的方式赋值:

[self setValuesForKeyWithDictionary:dict];

 

    //让数组中所有元素都执行 removeFromSuperview

    [_answerView.subviewsmakeObjectsPerformSelector:@selector(removeFromSuperview)];

 

//遍历数组(最快的):

   [_optionView.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUIntegeridx, BOOL * _Nonnull stop) {

obj 数组中的对象;

idx 表示下标;

*stop yes 立即跳出遍历;

        }

    }];

ios基础知识--03

标签:

原文地址:http://blog.csdn.net/hx_lei/article/details/51344894

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!