UIView的常用属性和方法

@start

今天练习的是UIView的常用属性,首先应该新建一个窗口和相应的根视图控制器

 1     //新建一个窗口和根视图控制器
 2     self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
 3
 4     //设置视图控制器
 5     UIViewController *controller = [[UIViewController alloc]init];
 6     self.window.rootViewController = controller;
 7     //更改视图控制器的属性
 8     controller.view.backgroundColor = [UIColor grayColor];
 9     //将视图控制器放入到窗口中
10     [self.window makeKeyAndVisible];

然后应该新建两个view,并将其中一个设置成另一个的子视图

    //新建view1
    UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(20, 20, 200, 200)];
    //设置view1属性
    view1.backgroundColor = [UIColor redColor];
    //将view1放入到视图控制器中
    [controller.view addSubview:view1];

    //设置一个view2
    UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 80, 80)];
    //更改子视图的颜色
    view2.backgroundColor = [UIColor purpleColor];
    //将view2设置成view1的子视图
    [view1 addSubview:view2];
    

1.设置透明度

    //1.设置透明度
    view1.alpha = 0.1;

≥≥其中当父视图view1的透明度改变时,view2的透明度也会随之而改变,但是不清楚当view1的大小变化时,view2会不会随着改变

//

2.子视图集合subView

    //创建三个视图
    UIView *sbView1 = [[UIView alloc]initWithFrame:CGRectMake(30, 30, 30, 30)];
    UIView *sbView2 = [[UIView alloc]initWithFrame:CGRectMake(60, 60, 30, 30)];
    UIView *sbView3 = [[UIView alloc]initWithFrame:CGRectMake(90, 90, 30, 30)];

    //设置三个视图的颜色
    sbView1.backgroundColor = [UIColor yellowColor];
    sbView2.backgroundColor = [UIColor greenColor];
    sbView3.backgroundColor = [UIColor blueColor];

    //将三个视图放入到view1中
    [view1 addSubview:sbView1];
    [view1 addSubview:sbView2];
    [view1 addSubview:sbView3];

    //使用数组获取到三个视图
    NSArray *arr = view1.subviews;

    //取出其中一个元素并将其放入到窗口中
    UIView *subview1 = [arr objectAtIndex:0];
    [controller.view addSubview:subview1];

≥≥其中三个视图都是设置成了view1的子视图,所以利用数组取出后作为controller的子视图,透明度依然还是和view1的透明度相同

≥≥虽然把subview1放入到controller上面,但subview1依然是view1的子视图

//这里出现一个问题,我想通过更改subview1的位置来确认其透明度确实和view1相同

    sbView1.frame = CGRectMake(200, 200, 100, 100);
    sbView2.bounds = CGRectMake(60, 60, 30, 30);

øø更改了很多次subview1的值之后终于发现问题所在,sbView1才是更改位置的必需品,更改subview1的属性没有效果

≥≥经过位置的更改,subview1的透明度确实和view1相同

≥≥同时bounds指的时从现在的bounds的零点坐标开始计算,如果将后面两个数值改为0,会直接把sbView2的大小减少至0

//只更改位置的方法不明

3.是否隐藏

    //3.是否隐藏 hidden
    view2.hidden = YES;       view2.hidden = NO;

≥≥当hidden=YES时,view2会直接隐藏,再次更改为NO时,view2会再次显示出来

4.取得父视图

    //4.取到父视图
    UIView *view = subview1.superview;
    [controller.view addSubview:view];

≥≥通过XX.superview方法可以取得XX的父视图,并将其改变位置

@end

时间: 2024-11-02 23:30:23

UIView的常用属性和方法的相关文章

iPone应用开发 UIView 常用属性和方法

iPone应用程序开发 UIView常用属性和方法 常用属性 alpha 视图的透明度0.0f - 1.0f backgroundColor 视图的背景颜色 subviews 子视图的集合 hidden 视图是否隐藏 tag 视图的唯一标示符,是一个整形数据 superview 视图的父视图 multipleTouchEnabled 是否开启多点触控 userInteractionEnable 是否响应触摸事件 常用方法 - (void)removeFromSuperview; //从父视图中删

UIView常用属性与方法/UIKit继承结构

UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> /** * 通过一个frame来初始化一个UI控件 */ - (id)initWithFrame:(CGRect)frame; // YES:能够跟用户进行交互 @property(nonatomic,getter=isUserInteractionEnabled) BOOL us

UIView类的常用属性与方法

UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类.负责渲染区域的内容,并且响应该区域内发生的触摸事件. UIView的功能:1.管理矩形区域里的内容2.处理矩形区域中的事件3.子视图的管理 4.还能实现动画 UIView的子类也具有这些功能. 1.UIView中的三个结构体CGPoint.CGSize.CGRect 1.  CGPoint//点结构体 1 struct CGPoint { 2 CGFloat x; 3 CG

第2课、UIView的常用属性

第一部分:父子视图属性 1. superview : 获得自己的父控件对象. 2. subviews  : 获得自己的所有子控件对象. 注意: 1)一个视图最多只能有一个父视图. 2)一个视图可以有多个子视图. 部分代码: //系统加载完storyboard之后,会自动执行. - (void)viewDidLoad { [super viewDidLoad]; //ViewController会自动有一个UIView,这个RootView,根视图没有superView. UIView * myS

SVG DOM常用属性和方法介绍

将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析器所特有的.SVG支持DOM2标准. 12.2.1  文档初始化相关 evt属性 evt表示事件本身,可以通过evt获取与当前事件相关的信息,用户可以在script中定义响应函数,进行相应的处理.它与普通JavaScript脚本中的event基本相同,只不过在普通JavaScript的脚本中简写成“e”. ownerDocument属性 通过引

UIWebView浏览器控件常用属性与方法汇总

一.什么是UIWebView UIWebView是iOS内置的浏览器控件 系统自带的Safari浏览器就是通过UIWebView实现的 二.UIWebView常用属性和方法 UIWebView常用的加载资源的方法 - (void)loadRequest:(NSURLRequest *)request; @property(nonatomic) UIDataDetectorTypes dataDetectorTypes; // 需要进行检测的数据类型 @property(nonatomic,rea

ExtJs window(一)使用API以及window常用属性和方法

1.使用API xtype:组件的别名 Hierarchy 层次结构 Inherited mixins 混入的类 Requires 该组件需要使用的类 configs:组件的配置信息 properties:组件的属性 methods:组件的方法 events:组件的事件 2.window组件常用属性和方法讲解: configs: constrain:布尔值,true为限制窗口只能在其容器内移动,默认值为false,允许窗口在任何位置移动.(另:constrianHeader属性) modal:布

UIView之常用属性

UIView之常用属性 1. view.tag = 200; // 系统保留0-1002. view.frame = CGRectMake(20, 30, 300, 300);3. view.center = self.view.center;4. view.backgroundColor = [UIColor redColor];5. // 用户交互6. view.userInteractionEnabled = YES; // 默认为YES 1.// 旋转2. view.transform

Node.js process 模块常用属性和方法

Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.maiziedu.com/course/694/有所帮助. 如果不是和命令行工具打交道,可能我们很少有机会去用到process模块中的一些方法或者属性.不过如果你要做类似于webpack或者gulp等较为复杂的构建工具,由于bash界面就是和用户直接交流的工具,因此友好的输入输出,完整的提示都非常有必