您的位置:首页 > 移动开发 > IOS开发

ios基础知识--03

2016-05-08 11:39 453 查看
设备
屏幕类型
屏幕尺寸

分辨率(像素)
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 Plus下1个点表示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在启动过程中会全屏显示叫做De
4000
fault.png的图片
•  不用规格Default的使用场合
Ø  Default.png:非retina-iPhone屏幕(3.5 inch),320x480
Ø  Default@2x.png:retina-iPhone屏幕(3.5
inch),640x960
Ø  Default-568h@2x.png:4 inch的retina-iPhone屏幕,640x1136
Ø  Default-Portrait~ipad.png:非retain-iPad竖屏屏幕,768x1024
Ø  Default-Portrait~ipad@2x.png:retain-iPad竖屏屏幕,1536x2048
Ø  Default-Landscape~ipad.png:非retain-iPad横屏屏幕,1024x768
Ø  Default-Landscape~ipad@2x.png:retain-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 立即跳出遍历;
        }
    }];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: