`
xyz_lmn
  • 浏览: 65355 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

IOS学习笔记(五)——UI基础UIWindow、UIView

 
阅读更多

在PC中,应用程序多是使用视窗的形式显示内容,手机应用也不例外,手机应用中要在屏幕上显示内容首先要创建一个窗口承载内容,iOS应用中使用UIWindow、UIView来实现内容显示。

UIWindow:

UIWindow对象是所有UIView的根视图,管理和协调的应用程序的显示、分发事件给View。UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWithOptions方法。

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];//显示出UIWindow


UIView:

UIView类继承自UIResponder,负责在屏幕上 定义一个矩形区域,视图用于展示界面及响应用户界面交互。每个视图对象都要负责渲染视图区域的内容,并响应该区域中发生的操作事件。

除了显示内容和处理事件之外,视图可以嵌套并管理子视图。子视图是指嵌入到另一视图对象内部的视图对象,而被嵌入的视图对象是父视图。视图添加到window中就会显示出来,iOS中是怎么实现视图显示的,看下面的代码:


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    
    
    CGRect rect=[UIScreen mainScreen].applicationFrame;
    
    NSLog(@"NSScreen application %@",NSStringFromCGRect(rect));
    CGRect rect2=[UIScreen mainScreen].bounds;
    
    NSLog(@"NSString mainScreen %@",NSStringFromCGRect(rect2));

    NSLog(@"iOS_didFinishLaunchingWithOptions");
    
    UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(60, 50, 200, 100)];
    view1.backgroundColor=[UIColor greenColor];
    
    [self.window addSubview:view1];
    [view1 release];
  
    UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(60, 100, 200, 200) ];
    view2.alpha=0.5;
    view2.backgroundColor=[UIColor cyanColor];
    [self.window addSubview:view2];    
   
    
    UIView *view3=[[UIView alloc]initWithFrame:CGRectMake(100, 50, 60, 50)];
    view3.backgroundColor=[UIColor colorWithRed:25/255.0 green:60/255.0 blue:150/255.0 alpha:1.0];    
    [view2 addSubview:view3];
    
    [view3 release];
    [view2 release];
    
    [self.window makeKeyAndVisible];
    return YES;
}

上面添加了三个视图,view1、view2、view3,view3嵌套在view2中。


/**
* @author 张兴业
* iOS入门群:83702688
* android开发进阶群:241395671
* 我的新浪微博:@张兴业TBOW
*/




分享到:
评论

相关推荐

    好程序员学习笔记--UI基础UIWindow、UIView.doc

    总的来说,UIWindow和UIView是iOS UI开发的基础,理解它们的工作原理和交互方式对于构建功能丰富的用户界面至关重要。开发者可以通过调整视图的属性、添加子视图、处理事件等方式来创建复杂的用户界面,提供优质的...

    iOS UI开发详解

    本文将深入讲解iOS开发入门以及应用,特别关注于UI设计的基础知识和实践案例。 #### 二、理解View的概念 在iOS开发中,“view”是一个非常核心的概念。简单来说,一个view是`UIView`类或其子类的一个实例。具体而...

    IOS UI 笔记

    本笔记涵盖了iOS开发中UI部分的基础知识,包括如何使用Xcode创建新的UI项目、如何管理和操作`UIWindow`和`UIView`,以及如何设置视图的基本属性。这些知识对于iOS开发者来说非常重要,是构建任何iOS应用的基础。理解...

    IOS应用源码——Touchsamplecode.rar

    【iOS应用源码——Touchsamplecode】是一份用于学习iOS开发的重要资源,它包含了苹果官方提供的示例代码,专门展示了如何在iOS平台上处理触摸事件。这份源码是开发者深入理解iOS用户界面交互机制的关键,特别适合...

    IOS应用源码——trunk 3.rar

    "IOS应用源码——trunk 3.rar" 提供了一个iOS应用的完整源代码,对于开发者来说是一份宝贵的资源,尤其是对于那些想要深入研究iOS开发或者正在寻找实例学习的人来说。 首先,我们需要了解iOS应用的基本结构。一个...

    UI课件第一讲

    ### UI课件第一讲知识点详解 #### 一、UIView 及其子类 - **UIView简介**: - `UIView` 是 iOS 开发中的...通过学习这些基础知识,初学者可以更好地理解 iOS 应用的构建原理,并为进一步深入学习打下坚实的基础。

    IOS学习源代码1

    本资源“IOS学习源代码1”旨在帮助开发者深入理解这些基础知识,并通过实际的Demo源代码进行实践。 首先,让我们详细探讨视图与窗口的基础。在iOS应用中,视图是屏幕上的可视化元素,如按钮、文本框等,它们负责...

    IOS应用源码——OpenSpringBoard for iOS.rar

    总的来说,OpenSpringBoard for iOS项目为开发者提供了一个深入学习iOS操作系统核心组件的机会,通过对源码的研究,不仅可以提升iOS开发技能,还能对整个系统的运作有更深入的理解。这不仅有利于个性化系统的开发,...

    ios 学习笔记

    本文档基于给定的“iOS学习笔记”,深入探讨iOS应用程序生命周期的关键概念、阶段以及如何处理这些阶段。 #### 二、基础知识 **1.1 入口点:** iOS应用的入口点位于`main.m`文件中的`main`函数。此函数通过调用`...

    UI第二章:iOS开发教程课件-- 视图与窗口的基础

    总而言之,iOS开发中的视图和窗口构成了用户界面的基础,对于初学者来说,掌握这些基础知识是进一步学习和发展的前提。通过深入理解视图层次结构、坐标系统、视图属性和方法、坐标变换、内容模式、动画等概念,...

    iOS应用开发中视图控件UIWindow的基本使用教程

    UIWindow对象是所有UIView的根,管理和协调的应用程序的显示。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。 在IOS中,UIWindow对象并没有像windows...

    ios-LCBlur - 一句搞定毛玻璃效果 UIView UIWindow UIImageView 等.zip

    支持 CocoaPods! pod 'LCBlur' GitHub:https://github.com/iTofu/LCBlur 请在 GitHub 上查阅,以保证版本最新! 有问题请移步 GitHub!这里提问我收不到! (之前发过一次,效果没讲清楚,貌似不...)

    iOS UI开发心得

    在iOS开发中,UIResponder是一个核心的概念,它不仅作为UIApplication、UIWindow、UIView等核心类的超类,还定义了对象如何响应和控制事件的接口。UIResponder类的存在使得开发者能够更加灵活地处理用户的各种输入...

    ios-UIWindow做的StatusBar.zip

    在iOS开发中,UIWindow是应用界面的基础组件之一,它为用户提供了一个显示内容的窗口,包括应用程序的主要视图控制器和各种界面元素。本教程通过"ios-UIWindow做的StatusBar.zip"压缩包,主要探讨如何利用UIWindow来...

    UI框架学习 手搓UI框架(TransformHelper,UIEventListener,UIWindow,UIMgr)

    UI框架学习手搓UI框架(TransformHelper,UIEventListener,UIWindow,UIMgr)

    iOS视图及视图控制器PPT教案.pptx

    在iPhone OS(现在的iOS)中,UIWindow继承自UIView,意味着窗口本质上也是一个视图对象。然而,用户无法直接对窗口进行关闭等操作,所有的窗口操作都需要通过编程接口实现。 16.1.1 UIWindow的职责 UIWindow主要...

    IOS技巧笔记工程文件

    在iOS开发中,掌握一些关键技巧能够极大地提升应用的用户体验和功能多样性。以下是一些从标题和描述中提炼出的iOS开发知识点的详细说明: 1. **本地推送**: iOS中的本地推送允许应用程序在用户不主动打开应用时,...

    ios开发笔记.pdf

    在iOS中,几何形状如矩形 CGRect 是UI布局的基础。你可以使用`CGRectMake`来创建一个矩形,例如: ```swift CGRect frame = CGRectMake(0, 0, 100, 50); ``` 对于字符串与 CGRect 的转换,`NSStringFromCGRect`...

Global site tag (gtag.js) - Google Analytics