zoukankan      html  css  js  c++  java
  • iOS

    前言

    	NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView
    	@available(iOS 2.0, *)		 public class UIWindow : UIView
    

    1、Window 的创建

    • Objective-C

      	// 声明窗口视图
      	@property (strong, nonatomic) UIWindow *window; 
      	
       	- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      	
      		// 实例化窗口视图,window 的大小和当前手机屏幕一样大
          	self.window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];   
          									
      		// 设置 window 的背景颜色
          	self.window.backgroundColor = [UIColor whiteColor];  
      		
          	// 将窗口显示到屏幕上
           	[self.window makeKeyAndVisible];
      
      		return YES;
          }
      
    • Swift

      	// 声明窗口视图
       	var window: UIWindow?
      
      	func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
      
      		// 实例化窗口视图,window 的大小和当前手机屏幕一样大
          	self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
          	
          	// 设置 window 的背景颜色
          	self.window?.backgroundColor = UIColor.whiteColor()
      
      		// 将窗口显示到屏幕上 
          	self.window?.makeKeyAndVisible()
      		
           	return true
          }
      

    2、UIScreen 的使用

    • UIScreen 的属性

      	// 带有状态栏的 Rect 
      	CGRect bound = [UIScreen mainScreen].bounds;
      	
      	// 不带有状态栏的 Rect 
      	CGRect frame = [UIScreen mainScreen].applicationFrame;
      	
      	// 设备的自然分辨率
      	float scale = [UIScreen mainScreen].scale;
      
    • scale 属性的进一步的说明:

      • 以前的 iPhone 设备屏幕分辨率都是 320x480,后来 apple 在 iPhone 4 中采用了名为 Retina 的显示技术,iPhone 4 采用了 960x640 像素分辨率的显示屏幕。由于屏幕大小没有变,还是 3.5 英寸,分辨率的提升将 iPhone 4 的显示分辨率提升至 iPhone 3GS 的四倍,每英寸的面积里有 326 个像素。

      • 简单的理解 scale 就是一个点有几个像素。scale 属性的值目前有 3 个:

        • scale = 1.0; iPhone 4 之前的设备
        • scale = 2.0; iPhone 4 ~ iPhone 7 (除 plus 外) 的设备
        • scale = 3.0; iPhone 6 plus 和 iPhone 7 plus 的设备

    3、获取屏幕宽度与高度

    • 不同型号的 iOS 设备的屏幕尺寸:

      UIWindow1

    • Objective-C

      	// 当前屏幕的宽度
      	CGFloat width =  [UIScreen mainScreen].bounds.size.width;
      
      	// 当前屏幕的高度		
      	CGFloat height = [UIScreen mainScreen].bounds.size.height; 
      
    • Swift

      	// 当前屏幕的宽度
      	let CGFloat = UIScreen.mainScreen().bounds.size.width
      
      	// 当前屏幕的高度
      	let height:CGFloat = UIScreen.mainScreen().bounds.size.height
      
  • 相关阅读:
    字符序列(characts)
    装载问题(load)
    哈密顿路
    犯罪团伙
    回溯算法
    维修机器人
    旅行计划
    皇后游戏
    运输
    亲身实测可用的java实现wordxlsxpdf文件下载功能
  • 原文地址:https://www.cnblogs.com/QianChia/p/5844238.html
Copyright © 2011-2022 走看看