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

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

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

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

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

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

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

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

    最近在做开发时要做一个类似于UIAlertView的控件,做法是创建一个基于UIView的类,在里面进行自定义控件的设置,为了尽量模仿UIAlertView,在这个类里面创建了一个新的UIWindow并将self显示到这个window上

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

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

    HitTestMaster

    (hitTest:withEvent:其实是UIView的一个方法,UIWindow继承自UIView,因此主窗口UIWindow也是属于视图的一种) • hitTest:withEvent:方法大致处理流程是这样的: 首先调用当前视图的pointInside:wit

    iPhone应用程序开发指南.中文.pdf

    使用位置和方向服务 159 取得用户的当前位置 159 获取与方向有关的事件 161 显示地图和注解 163 在用户界面中加入地图视图 163 显示注解 165 通过反向地理编码器获取地标信息 173 用照相机照相 174 从照片库中选取...

    iPhone开发秘籍

    2.1 uiview和uiwindow 30 2.1.1 层次结构 30 2.1.2 几何特征 31 2.1.3 手势 34 2.2 秘诀:添加递进式子视图 34 2.3 秘诀:拖动视图 36 2.3.1 uitouch 37 2.3.2 添加持久性 39 2.4 秘诀:剪辑视图 42 2.4.1 ...

    毕业设计电商网站源码-iOS-Interview:面试知识点整理

    UIView跟CALayer 单一原则 UIView为CALayer提供内容以及负责处理触摸事件,参与响应链 CALayer负责显示内容的Content 事件传递与视图响应链 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event; - (BOOL...

    iOS轻点、触摸和手势代码开发

    UIView和UIControl是UIReponder的子类,因此所有视图和所有控件都是响应者。 1、初始相应器 事件首先会传递给UIApplication对象,接下来会传递给应用程序的UIWindow,UIWindow会选择一个初始相应器来处理事件。初始...

    整合多个常用控件案例

    源码BFKit,BFKit对常用于开发的类进行了扩展,整合了多个常用的控件和开发所需要的功能,是一个通用性的类库。集成后可以帮助更快的App开发。有兴趣的同学可以看看哦。 使用方法: 复制文件夹BFKit,添加依赖库...

    iOS深色模式适配

    但是需要在每个UIWindow,UIViewController,UIView里面增加下面的这个方法 -(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection 在这个方法里去判断和更改当前界面所有元素的颜色 我专门...

    iPhone开发秘籍.part2.rar

    2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀...

    iPhone开发秘籍.part1.rar

    2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀...

    iPhone开发秘籍.part4.rar

    2.1 UIView 和UIWindow...30 2.1.1 层次结构.....30 2.1.2 几何特征.....31 2.1.3 手势.....34 2.2 秘诀:添加递进式子视图.....34 2.3 秘诀:拖动视图.....36 2.3.1 UITouch...37 2.3.2 添加持久性.....39 2.4 秘诀...

    JXCategoryKit:系统基础类扩展

    JXCategoryKit系统基础类扩展包含Foundation.framework内部的NSDate,NSTimer,NSObject,NSNull,NSFileManager,NSString,NSDictionary,NSError,NSBundle,NSArray类扩展包含UIKit.framework内部的UIWindow,...

    无限互联iOS路线图

    02 第二节课 UIView与UIWindow 03 第三节课 常用控件 04 第四节课 视图控制器 05 第五节课 导航控制器 06 第六节课 标签控制器 07 第七节课 表视图基本概念和用法 08 第八节课 定制单元格和表视图的编辑模式 ...

    ios-个人为MB框架添加了一些show的类方法, 很好用.zip

    为了使用方便 用类方法也可以调用隐藏方法 就添加了一个类方法改了一点底层 (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay; (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)...

    SAMCustomAlertView:在UIVIewUIWindow上显示自定义AlertView

    SAMCustomAlertView 在UIVIew / UIWindow上显示自定义AlertView ##安装椰子足 pod 'SAMAlertView', '~> 1.0.0'从来源很简单只需下载或克隆到桌面即可。 将Source and Resources文件夹拖放到项目中。 之后,在您想...

Global site tag (gtag.js) - Google Analytics