< ![CDATA[

笔记

UIWindows 与UIView的关系
iOS的坐标系统
视图层次结构
视图坐标(Frame和Bounds区别)
UIView的常用属性和方法
坐标系统的变换
UIView内容模式
UIView动画

UIKit是一个提供了在iOS上实现图形,事件驱动的框架

UIView是视图基类
UIViewController试图控制器的基类
UIResponder表示一个可以接受触摸屏上的触摸事件的对象
窗口是视图的一个子类
窗口的主要功能:一个提供一个区域来显示视图
二来将事件event分发给视图
一个应用通常只有一个窗口。但也有例外

窗口与视图
使用窗口与视图在屏幕上显示应用程序的内容,窗口本身不具有任何可见的内容。但它对于应用程序的视图提供了一个基本的容器。视图定义
你想要的一些内容,填充窗口的一部分,例如,图形,文本。等

什么是窗口
每个应用程序至少需要一个窗口,通常 窗口用UIWindow类的实例来表示。UIWindow继承自UIView

window对象有以下职责:
它包含了应用程序的可视化的内容
它为视图和其他应用程序对象在触摸事件中提供了关键的作用
它与试图控制器一起协作来呈现数据
大多数IOS应用程序在其生命周期内只有一个UIWindow。并且,在应用程序的生命周期中。窗口跨越整个设备的主屏幕和从应用程序的主nib文件加载(编程方式创建)。但是,如果应用程序支持的外部显示器使用的视频输出,它可以创建额外的窗口,以显示改外部显示器上的内容,所有其他的窗口通常由系统创建,并且通常在响应特定的事件的时候创建的。如电话呼入

UIScreen
UIScreen对象可以充当ios设备物理屏幕的替代者,[UIScreen mainScreen]

bounds 获取屏幕大小。

手机屏幕的几个概念
Screen Size 屏幕尺寸,指具体的屏幕物理长度,以屏幕对角线的长度作为标示
Resolution 屏幕分辨率 指屏幕上的总共物理像素点
Density密度 标示每英寸有多少个显示点
ASPECT ratio 屏幕宽高比例。如4:3
Device-independent pixe:dip 设备无关像素。。dip是虚拟的像素单位。
专门用来给程序定义UI用
色阶 。平常说的65536色,26万色

ipad mini 1024*768
ipad3~4 2048*1536
ipad~2 1024*768

iphone 5 640*1136
iphone4~4s 640*960

获取当前UIWindow和级别

通过UIApplication获取当前的keyWindow

keyWindow 是用来管理 键盘以及非触摸类的消息。
并且只有一个window是keyWindow

UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
每个UIWindow对象配置windowLevel属性。大部分不应该去改变windowLevel
UIWindow 有3个级别。 通过windowLevel设置,优先级为
UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal

Demon

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    //self.window.windowLevel = UIWindowLevelNormal;

    [self.window makeKeyAndVisible];

    //定义一个button。类型是 根据rect 的比例来画出来的。
    UIButton *startButton =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    //定位
    startButton.frame=CGRectMake(/-/, , , );
    //设置标题
    [startButton setTitle:@"警告" forState:UIControlStateNormal];
    //设置事件。添加事件是自身。 目标是alertUser方法。从touchup触发
    [startButton addTarget:self action:@selector(alertUser) forControlEvents:UIControlEventTouchUpInside];

    //加到view里面
    [self.window addSubview:startButton];

//    self.window.windowLevel = UIWindowLevelStatusBar;
//
    NSLog(@" window level %.2f",self.window.windowLevel);
//
//    NSLog(@" normal: %.2f",UIWindowLevelNormal);
//
//    NSLog(@" statusbar: %.2f", UIWindowLevelStatusBar);
//
//    NSLog(@" alert: %.2f", UIWindowLevelAlert);
//
    return YES;
}

-(void) alertUser
{
    UIAlertView *alertview=[[UIAlertView alloc]
                            initWithTitle:@"提示"
                            message:@"content"
                            delegate:nil
                            cancelButtonTitle:@"确定"
                            otherButtonTitles:nil];
    [alertview show]; //弹出去
}

]]>

原文:http://abujj.me/archives/370

IOS笔记 1的更多相关文章

  1. 荼菜的iOS笔记--UIView的几个Block动画

    前言:我的第一篇文章荼菜的iOS笔记–Core Animation 核心动画算是比较详细讲了核心动画的用法,但是如你上篇看到的,有时我们只是想实现一些很小的动画,这时再用coreAnimation就会 ...

  2. 【转】iOS笔记-自定义控件(OC)

    原文网址:http://www.jianshu.com/p/f23862eb7b8a 导读: iOS开发中,很多时候系统提供的控件并不能很好的满足我们的需求,因此,自定义控件便成为搭建UI界面中必不可 ...

  3. iOS笔记———数据存储

    应用沙盒:应用文件系统的根目录,每个应用都有独自的沙盒相互:在xcode中可以用NSHomeDirectory()函数,打印当前应用的沙盒根路径. 应用程序包:包含了所有资源文件和执行文件; * Do ...

  4. Xamarin开发IOS笔记:切换输入法时输入框被遮住

    在进行IOS开发的过程中,出现类似微信朋友圈的交互界面,当用户遇到感兴趣的内容可以进行评论.为了方便评论输入,当出现评论输入框的时候自动将评论输入框移动至键盘的上方,这样方便边输入边查看. 当用户隐藏 ...

  5. 【IOS笔记】Delegation

    Delegation Delegation is a simple and powerful pattern in which one object in a program acts on beha ...

  6. 【IOS笔记】Event Delivery: The Responder Chain

    Event Delivery: The Responder Chain  事件分发--响应链 When you design your app, it’s likely that you want t ...

  7. 【IOS笔记】Gesture Recognizers

    Gesture Recognizers Gesture recognizers convert low-level event handling code into higher-level acti ...

  8. 【IOS笔记】About Events in iOS

    About Events in iOS Users manipulate their iOS devices in a number of ways, such as touching the scr ...

  9. 【IOS笔记】Resource Management in View Controllers

    Resource Management in View Controllers 视图控制器的资源管理 View controllers are an essential part of managin ...

随机推荐

  1. xcode设置项目图标玻璃镜效果

    xcode5中设置 ios6和ios7的适配一些小细节注意,ios6中图标会默认的设置玻璃镜效果 找到图片文件夹APPlcon中右侧设置中的有个iOS icon is pre-rend-rendere ...

  2. Android 更新UI的两个方法

    Android 更新UI的两个方法 在Android的开发过程中,常常需要适时的更新UI.Androd中的UI是在主线程中更新的.如果在主线程之外的线程中直接更新,就会出现报错并抛出异常: andro ...

  3. [连载]JavaScript讲义(03)--- JavaScript面向对象编程

  4. mac缺少预编译.a问题

    在win7的svn提交了coco2d-x 3.0代码,在mac进行更新,用xcode打开工程,编译不成功,一看好多的.a文件全部都是红色的,无法找到文件,一开始不了解coco2d-x的prebuilt ...

  5. IOS Dictionary和Model相互转换

    // // HYBJSONModel.h // Json2ModelDemo // // Created by huangyibiao on 14-9-15. // Copyright (c) 201 ...

  6. 挖掘微信Web版通信的全过程

    昨天是周末,在家闲得无聊,于是去weiphone.com逛了一圈,偶然发现有人发了一帖叫<微信 for Mac>,这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一些 ...

  7. HDU 4607 Park Visit(树的直径)

    题目大意:给定一棵树,让求出依次访问k个点的最小花费,每条边的权值都为1. 思路:如果能一直往下走不回来,那么这个路径肯定是最小的,这就取决于给定的k,但是怎么确定这个能一直走的长度呢,其实这个就是树 ...

  8. zabbix图中出现中文乱码问题

    我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下 1. ...

  9. System.Management命名空间

    提供对大量管理信息和管理事件集合的访问,这些信息和事件是与根据 Windows 管理规范 (WMI) 结构对系统.设备和应用程序设置检测点有关的.应用程序和服务可以使用从 ManagementObje ...

  10. updatepanel的属性

    updatepanel的属性 1.childrenastriggers:内容模板内的子控件的回发是否更新本模板(和updatemode的conditional有关) 2.updatemode:内容模板 ...