`
百合不是茶
  • 浏览: 354699 次
社区版块
存档分类
最新评论

UIWindow和UIView的简单使用

阅读更多

UIWindow是是一个窗体,用来显示组件,相当于世一个容器

 

1,创建UIWindow

//创建window 
self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
//设置window的背景
    self.window.backgroundColor=[UIColor whiteColor];
    //设置window显示的view
    ViewController *vc=[[ViewController alloc]init];
    //创建rootview
    UINavigationController *control=[[UINavigationController alloc]initWithRootViewController:vc];
    //将rootview设置成根view
    self.window.rootViewController=control;
    //显示window
    [self.window makeKeyAndVisible ];//设置window显示

 

UIScreed可以看成就是手机屏幕,它提供了一个画布,可以在上面画各种视图控件,可以通过[[UIScreen mainScreen] bounds]来获取屏幕尺寸;

 

 

makeKeyAndVisible,把window设置成可显 的。

 

2,获得window

 UIWindow *win=[UIApplicationsharedApplication].keyWindow;

 

 

 

3,获得父视图

    //获取父视图

    UIView *v=view1.superview;

 

    NSLog(@"%@",[v class]); //UIWindow

 

4,UIView常用的结构体

CGPoint point = CGPointMake(x,y);//左上角坐标的位置
CGSize size = CGSizeMake(width,height);//大小
CGRect rect = CGRectMake(x,y,width,height);//位置和大小

 

5,UI常用属性

frame: 相对父视图的位置和大小
bounds:相对自身的位置和大小,所以bounds的x和y永远为0
center:子视图的中点坐标相对父视图的位置
transform:可以通过这个属性控制视图的放大缩小和旋转
superview:获取父视图
subviews:获取所有子视图
alpha:视图的透明度(0-1)
tag:视图的标志,设置了tag后,可以通过viewWithTag方法拿到这个视图
userInteractionEnabled:是否响应用户事件

 

 

 

6,UIView的创建

  self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor=[UIColor whiteColor];
    
    ViewController *vc=[[ViewController alloc]init];
    
    UINavigationController *control=[[UINavigationController alloc]initWithRootViewController:vc];
    
    self.window.rootViewController=control;
    
    [self.window makeKeyAndVisible ];//设置window显示
    
    
    //UIView视图的管理
    UIView *view1=[[UIView alloc] init];
    view1.frame=CGRectMake(100, 100, 100, 100);
    view1.backgroundColor=[UIColor colorWithRed:0.5 green:0.3 blue:0.1 alpha:0.3];
     //将view1添加到window上显示
    [self.window addSubview:view1];
    
    UIView *view2=[[UIView alloc] init];
    view2.frame=CGRectMake(200, 100, 100, 100);
    view2.backgroundColor=[UIColor yellowColor];
    [self.window addSubview:view2];

 

在UIwindow上添加view1和view2(使用的是自动回收),

a,[self.window insertSubview:view2 atIndex:0];//添加到指定的位置

b,  //获取子视图

    NSArray *v1=self.window.subviews;

    NSLog(@"%@",v1);

c,// 视图把  移出,谁要移除来,谁就去调这个

    [ view2 removeFromSuperview];

d,view2.hidden=1;//隐藏View2

 

 7,UIView 常用用法

- (void)removeFromSuperview;将视图从父视图中移除
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;插入一个视图到指定位置,视图越在下面,index越小
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;将index1和index2位置的两个视图互换位置

- (void)addSubview:(UIView *)view;添加视图到父视图
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;插入视图到指定视图的下面
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;插入视图到指定视图上面

- (void)bringSubviewToFront:(UIView *)view;把视图移到最顶层
- (void)sendSubviewToBack:(UIView *)view;把视图移到最底层

- (UIView *)viewWithTag:(NSInteger)tag;     根据视图的tag属性找到搜索视图

 

 

 

0
1
分享到:
评论

相关推荐

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

    UIWindow和UIView是构建用户界面的基础组件,它们在呈现内容和处理用户交互方面扮演着核心角色。 UIWindow是iOS应用程序的顶级视图容器,它提供了与屏幕的直接联系,管理着应用程序的显示以及事件的分发。UIWindow...

    iOS 面试从简单到复杂

    #### 一、UIWindow、UIView与CALayer的关系及区别 1. **UIWindow**:UIWindow是UIView的子类,主要功能包括: - 提供一个区域来显示UIView。 - 将事件(Event)分发给UIView。 - 一般情况下,一个应用程序只有一...

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

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

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

    动画是提升用户体验的有效手段,UIView提供了一系列的动画相关方法,允许开发者以简单的方式创建动画效果。例如,开发者可以使用动画方法改变视图的Frame、Bounds、背景色等属性,从而实现平滑的视觉变化。 UIKit...

    swift-KeyBoardExtensionHUD不含UIWindow

    `KeyBoardExtensionHUD`通过其他方式实现了类似`UIWindow`的功能,可能是利用`UIView`的叠加特性,或者使用`UIPresentationController`等API来管理显示内容。这样做的好处可能包括: 1. **简化代码**:不使用`...

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

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

    swift-UIWindow转场动画及案例分析

    它是UIWindow中显示的第一个UIViewController,负责管理窗口内所有的视图和交互。当我们更改`rootViewController`时,系统默认会执行一个简单的淡入淡出效果。然而,为了创建更具个性化的转场动画,我们需要自定义这...

    iOS UI开发心得

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

    iOS中关于UIWindow和statusbar的设置问题

    在这个案例中,开发者创建了一个新的UIWindow,并将自定义的UIView(名为TestView)添加到这个窗口上,以便使它独立于主窗口显示。 在iOS中,status bar 是屏幕顶部显示时间、电池状态等信息的区域,其颜色和风格...

    UI课件第一讲

    综上所述,本课程主要介绍了 iOS 应用开发中基本的 UI 编程概念和技术,包括 UIWindow、UIView、UILabel 的使用方法及其在实际项目中的应用场景。通过学习这些基础知识,初学者可以更好地理解 iOS 应用的构建原理,...

    ios-UIWindow做的StatusBar.zip

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

    深入了解iOS开发中UIWindow的相关使用

    在iOS开发中,UIWindow是至关重要的组成部分,它是所有用户界面的基础。UIWindow不仅是一个特殊的UIView,而且在应用...总的来说,iOS开发者应该熟练掌握UIWindow的使用,以便在项目中灵活控制用户界面的显示和交互。

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

    尽管UIWindow是UIView的子类,但它通常不直接处理视图相关的属性。窗口的主要任务是管理和分发事件,如将触摸事件传递给相应的视图。值得注意的是,尽管iOS支持多个窗口,但为了保持用户界面的一致性和高效性,应用...

    斯坦福大学开放课程:iOS开发教程2010年秋(Lecture 5)

    此外,课程还涵盖了UIView和UIWindow类、视图层次结构、透明度处理、内存管理、坐标空间以及自定义视图的创建等关键主题。 ### 协议(Protocols) 在Objective-C中,协议类似于接口声明,但不包含任何方法的实现。...

    移动软件开发-3期(KC015) 拓展学习-Cocoa Touch.pdf

    UIKit包含了如UIApplication、UIWindow和UIView等关键类,它们构成了iOS应用的响应者链。当用户与屏幕交互时,UIKit会生成事件并沿着响应者链传递,直到找到能够处理该事件的对象。例如,UIResponder是所有可以响应...

    swift-CJPDrawingBoard提供截屏涂鸦箭头文字矩形椭圆功能;

    这通常涉及到对UIWindow或UIView的截图处理,通过UIKit框架中的`snapshotView(afterScreenUpdates:)`或`layer.presentation().contents`来实现。 其次,涂鸦功能让用户能够在屏幕上自由绘画。这需要一个可绘制的...

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

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

    ios-all-type-banner:一个类似于 iOS7+ 的 MacOS 横幅,它在 UIWindow 中添加自己,并出现在运行应用程序的 UIWindow 的 UIApplication 的顶部。 它将实现出现在所有 UIViews、UIViewControllers、UIAlertView、UIActionSheet 等的顶部。通过代码支持所有方向和屏幕尺寸。 另外,您可以为关闭和触摸事件添加块

    使用 Objective C 编写的 Mac OS 风格横幅,通过在 UIApplication 的 UIWindow 中添加 UIView 来尊重 iOS 的 iOS7 和 iOS8。 它添加为 ALL 的另一个视图顶部。 另外,使用块来关闭和触摸事件。 你喜欢它? 在您的...

Global site tag (gtag.js) - Google Analytics