文档章节

UIWindow与UIView

今日竹石
 今日竹石
发布于 2014/01/22 11:25
字数 491
阅读 149
收藏 0

(一): 看下类的关系:直接查看头文件:

  NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView {

  @package

    id                       _delegate;

    CGFloat                  _windowLevel;

  。。。。。}


      就知道UIWindow是UIView的子类,可以进行管理应用程序的显示,事件之类的,传递给UIView.一般在一个应用程序中只有一个UIWindow,不过每一个UIWindow对象上面都有一个根视图对象是视图管理器(ViewController)。UIWindow在AppDelegate委托类中的application:didFinishLaunchingWithOptions:方法总进行初始化:

#pragma mark invoke after application loaded   

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  

{       

NSLog(@"加载完毕...");  

//init window  

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch.  

// 传入xib文件名来init controller

self.viewController = [[[PPSViewController alloc] initWithNibName:@"PPSViewController" bundle:nil] autorelease];  

// setting the root view of Window  

self.window.rootViewController = self.viewController;  

// 下面的代码和上面一条设置跟view效果一样  

// [self.window addSubview:self.viewController.view]; 

[self.window makeKeyAndVisible]; //view可见  

return YES;  

}  

     同时在根视图上面,我们还可以添加子视图。所有的控件都会继承UIView;

     看下UIWindow对象根视图UIView,还有子视图的对应关系好比如下的截图:

     


     最外边的黄色框代表:UIWindow,中间的橙色框代表UiView,最里边的紫色框代表:子视图(SubView)

     

 (二):接下来直接查看UIView的头文件:

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> {

。。。。

}

       上图很清楚的看出UIView类是继承自UIResponder,UIView是用来展示界面,以及和用户进行操作交互等功能;上面第一个点UIWindow中讲了可以在根视图UIWiew中添加子视图,下面就写一个例子:

 - (void)viewDidLoad  

[super viewDidLoad]; 

// 设置界面的背景  

[self.view setBackgroundColor:[UIColor redColor]];   

CGRect frame=CGRectMake(10, 170, 300, 50);  

// 使用指定的矩形进行创建标签  

UILabel *lable= [[UILabel alloc]initWithFrame:frame];  

lable.text=@"Hello,我是被添加的子视图";  

lable.textColor=[UIColor redColor];  

[self.view addSubview:lable];  

}  

    运行结果如下:

     

      上面就是把UILable的标签作为子视图加入到UIView中;


更多


© 著作权归作者所有

共有 人打赏支持
上一篇: UIKit框架介绍
下一篇: UIAlertView的用法
今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
私信 提问
iPhone实现QQ等app中右拖动屏幕返回上一层视图切换的效果(继承UINavigationController)

实现腾讯qq,新浪微博,网易等app中右拖动返回上一层的效果demo。 首先看一下效果图: 首先要理解UIWindow,UIWindow对象是所有UIView的根,管理和协调的应用程序的显示 UIWindow类是UIView的...

长平狐
2013/12/25
466
0
UIWindow 窗口 & UIView 视图 等相关显示类

在iPhone开发中,一个应用程序应该只有一个UIWindow的实例,UIWindow在iPhone中是UIView的一个特殊子类,在程序初始化时,通过装载MainWindow.xib或者在代码中创建,它的大小应该就是手机屏幕...

JohnZr
2012/08/02
0
0
iOS应用程序的窗口元素及其运行原理

一、应用程序窗口元素 UIWindow:每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView UIView:视图,屏幕上可视的控件都是UIView,如按钮、文本标签、表格 UIViewController:控制...

开发小菜鸟一枚
2013/11/06
0
0
iOS中的黑科技(一些方法或者功能的实现)

获取键盘高度 此方法来自于, 在查阅SVProgressHUD源码时候想要做一些修改, 想要主动的获取键盘的高度, 百度Google上没有找到方法, 最后却发现SVProgressHUD本身就提供了一个这样的方法....

hell03W
2016/05/27
402
0
iOS学习笔记:iOS应用程序的窗口元素及其运行原理

一、应用程序窗口元素 UIWindow:每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView UIView:视图,屏幕上可视的控件都是UIView,如按钮、文本标签、表格 UIViewController:控制...

寂无声
2013/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
51分钟前
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
51分钟前
2
0
YII2的乐观锁和悲观锁

乐观锁与悲观锁¶ Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。 在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrep...

echojson
57分钟前
2
0
UCOS线程切换原理

黑客画家
今天
3
0
最牛Java架构师进阶路线(年薪80W)

1、源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其...

别打我会飞
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部