• 基础
  • UI(user interface)是用户界面;iOS的应用是由各种各样的UI控件组成

  • UIWindow就是一个窗口,学的第一个基础类,就是一个容器,可以在容器上放不同的内容,每个app都需要借助Window将内容展现给用户

  • UIView是视图,代表屏幕上的一个矩形区域

  • UIView和UIWindow除了继承外没有其他关系,window是窗口,上面赋着UIView,平常看不见UIWindow,我们用的self是系统建的UIView

  • 一般不要直接在UIWindow上直接加视图

  • 创建视图:1、开辟空间并初始化视图(给出位置和大小)2、对视图做一些设置(如背景颜色)3、将视图添加到window上进行显示 [self.window addSubview:blueView]4、释放视图对象、

  • 常用属性
    • window的属性
    • view的属性有:
    • backgroundColor
    • frame
    • rootViewController
    • userInteractionEnabled
    • screen
    • backgroundColor
     
    • tag
     
     
    • alpha
     
    • hidden
     
    • superview
     
    • subviews
  • 创建          self.window = [[UIWindow alloc] initWithFrame:  [UIScreen mainScreen].bounds];//创建window,让其充满屏幕。       [self.window makeKeyAndVisible];//让其成为主窗口且可视
  •     self.window.backgroundColor = [UIColor whiteColor];//设置背景颜色
  •     self.window.rootViewController = [[ViewController alloc] init];//设置根视图控制器,要加头文件
  •    
  •     //流程:main->app->view->
  • //*添加子视图*
  •     self.view.backgroundColor = [UIColor redColor];
  •     UIView *view = [[UIView alloc] init];
  •     view.frame = CGRectMake(10, 20, 30, 40);//相对于父视图的位置,注意坐标和尺寸的合理性,保证坐标加尺寸不会超出俯视图范围。
  •     view.userInteractionEnabled = NO;//是否允许用户点击,如果设置成NO,子视图不会覆盖父视图的点击事件
  •     self.view.userInteractionEnabled = NO;//如果父视图不允许交互,子视图事件也会被屏蔽。
  •     view.backgroundColor = [UIColor whiteColor];
  •     [self.view addSubview:view];//将后面的视图添加到前面的视图之上
  •     view.tag = 1;//设置视图标签
  •     UIView *view3 = [self.view viewWithTag:1];//获取父视图中标签为一的视图。
  •     view.alpha = 0;//设置视图的透明度,0~1浮点
  •     self.view.alpha = 0;//如果父视图透明,子视图也会看不见
  •     view.hidden = YES;//设置视图是否隐藏
  •     self.view.hidden = YES;//如果父视图被隐藏,子视图也会被隐藏
  •    操作
  •          NSArray*subviews = [redview subviews];//获得本视图的  所有子视图

  •              UIView*superview = [redview superview];//获取本视图的父视图

  •     [view removeFromSuperview];//移除

  •     [self.view insertSubview:view atIndex:1];//将子视图添加到父视图的某个位置

  •     [self.view insertSubview:view2 aboveSubview:view];//将view1添加到父视图且在view之上

  •     [self.view insertSubview:view2 belowSubview:view];//将view1添加到父视图且在view之下。

  •     [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];//交换两个位置的视图

  •     [self.view bringSubviewToFront:view];//将某个子视图移到父视图的最前面

  •     [self.view sendSubviewToBack:view2];//将某个子视图移到父视图最底层

  • 被点击的方法-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

  •                                  NSLog(@"被点击");

  •                             }

iOS--UIView和UIWindow用法的更多相关文章

  1. iOS开发——UI篇OC篇&UIView/UIWindow/UIScreen/CALayer

    UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480} ...

  2. iOS之美: UIView 与 UIWindow之间的关系

    转自:http://leopard168.blog.163.com/blog/static/168471844201381584533466/ 面对iOS初学者,总会被问到一些不常被关注的问题,比如: ...

  3. iOS - UIView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...

  4. iOS开发之UIWindow

    1.概述 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow. iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制 ...

  5. [转]IOS UIView 之属性篇

    [转载自:IOS UIView 之属性篇 From CSDN] UIView 继承于UIResponder             所遵守的协议有 NSCoding .UIAppearance. UI ...

  6. IOS UIVIEW layer动画 总结(转)

    转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html   IOS UIVIEW layer动画 总结, ...

  7. IOS UIView圆角,阴影,边框,渐增光泽

    圆角 sampleView.layer.cornerRadius = 2.5; // 圓角的弧度sampleView.layer.masksToBounds = YES; 阴影 sampleView. ...

  8. iOS UIView 基本属性用法

    .创建UIView UIView * redView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; UIView * blueView = ...

  9. UIView 和 UIWindow 的学习内容

    UIWindow是UIView的子类,一个程序只能有一个window主窗口. 在XCode7之后我们创建UIWindow的对象,代码如下: //创建一个窗口,使其铺满屏幕(设置大小)         ...

随机推荐

  1. java selenium (九) 常见web UI 元素操作 及API使用

    本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录  链接(link) <div> <p>链接 link</p> <a href=" ...

  2. C——数组下标与间址运算符

    只说一句,数组下标与间址运算符*是等价的,即:a[i] = *(a+i),看代码: int main(int argc, char* argv[]) { ] = {, , , , }; int i; ...

  3. node.js+socket.io安装

    最近做安卓遇到一个网络包的bug,服务端使用node做的,通讯用socket.io,但是服务端没法调试,没办法,还是自己搭建一个服务器端吧,索性买了阿里云的ecs测试,之前也配置过node+socke ...

  4. running programmer——spring-01(初谈spring)

    今天主要是通过一个简单的登录程序学习一些spring做基础的配置和功能. I.spring的核心配置applicationContext.xml 关于bean的配置官方给出的最基础的配置文件如下: & ...

  5. 四步完成NodeJS安装,配置和测试

    四步完成NodeJS安装,配置和测试 NodeJS 官网地址: http://nodejs.org/ 第一步:在官网点击 ’ INSTALL ’,下载相应的版本(我的机器是Win7专业版 64bit) ...

  6. 关于XE10下Indy发送字符串编码的问题

    在与硬件对接的过程中,之前用D7环境下的UDPServer.Post发送的指令,硬件可正常识别并正常显示, 后来使用到XE10,重新编译之前的源码,发现所有汉字乱码显示了: 后通过对接收数据发现,实际 ...

  7. python对XML的解析

    原文:http://blog.csdn.net/yueguanghaidao/article/details/7265246 python有三种方法解析XML,SAX,DOM,以及ElementTre ...

  8. mongogogog

    $cmp,$eq,$gt,$gte,$lt,$lte,$ne$setEquals,$setIntersection,$setUnion,$setDifference,$setLsSubset,$any ...

  9. div随意拖动小例子

    <html> <head> <title> Drag Demo 1 </title> <style type="text/css&quo ...

  10. EF升级6.0数据库链接不上问题

    昨天搞了个mvc4  先从net4.0 升级4.5后 数据库连接不上了,  然后升级ef未最新的6.1  居然还报错 不到方法:“System.Data.Objects.ObjectContext S ...