UIView视图

UIView视图的基本使用

打开视图控制器代码文件ViewController.swift

编写代码:

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //添加两个视图
        //CGRect结构,在屏幕上定义了一个矩形,它包含了对象的原点位置,和大小尺寸
        let rect1 = CGRectMake(30, 50, 200, 200)
        //创建一个原点在(30,50),尺寸为(200,200)的UIView视图
        let view1 = UIView(frame: rect1)
        //设置视图的背景颜色为棕色
        view1.backgroundColor =  UIColor.brownColor()

        //创建另一个视图
        let rect2 = CGRectMake(90, 120, 200, 200)
        let view2 = UIView(frame: rect2)
        view2.backgroundColor = UIColor.purpleColor() //紫色

        //将两个视图添加到当前视图控制器的根视图
        self.view.addSubview(view1)
        self.view.addSubview(view2)
    }

运行:

UIView视图的层次关系

创建三个UIView,第二视图是第三个视图的父视图

override func viewDidLoad() {
        super.viewDidLoad()
        // 第一个视图
        let rect1 = CGRectMake(20, 80, 280, 280)
        let view1 = UIView(frame: rect1)
        view1.backgroundColor =  UIColor.redColor()
        self.view.addSubview(view1)

        // 第二个视图
        let rect2 = CGRectMake(0, 0, 200, 200)
        let view2 = UIView(frame: rect2)
        //setBound方法,用来设置视图本地坐标系统中的位置和大小,它会影响子视图的位置和显示
        view2.bounds = CGRectMake(-40, -20, 200, 200)
        view2.backgroundColor = UIColor.yellowColor()
        self.view.addSubview(view2)

        // 第三个视图
        let viewSub = UIView(frame: CGRectMake(0, 0, 100, 100))
        viewSub.backgroundColor = UIColor.blueColor()
        view2.addSubview(viewSub) //将第三个视图添加到第二个视图上
    }

运行:

UIView视图的基本操作

视图的添加和删除,切换视图在父视图中的层次。

override func viewDidLoad() {
        super.viewDidLoad()

        let rect = CGRectMake(30 , 50, 200, 200)
        let view = UIView(frame: rect)
        view.backgroundColor =  UIColor.brownColor()
        self.view.addSubview(view)

        //创建一个按钮,当点击这个按钮时,将动态添加另一个视图
        let buAdd = UIButton(frame: CGRectMake(30, 350, 80, 30))
        buAdd.backgroundColor = UIColor.grayColor()
        //设置按钮在正常状态下的标题,其它状态包括按下,弹起等状态
        buAdd.setTitle("添加", forState: UIControlState.Normal)
        buAdd.addTarget(self, action: "addView", forControlEvents: UIControlEvents.TouchUpInside) //绑定事件
        self.view.addSubview(buAdd)

        //创建第二个按钮,点击切换根视图中,两个视图的层次顺序
        let btBack = UIButton(frame: CGRectMake(120, 350, 80, 30))
        btBack.backgroundColor = UIColor.grayColor()
        btBack.setTitle("切换", forState: UIControlState.Normal)
        btBack.addTarget(self, action: "bringViewBack", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(btBack)

        //创建第三个按钮,点击后删除新添加的那个视图
        let btRemove = UIButton(frame: CGRectMake(210, 350, 80, 30))
        btRemove.backgroundColor = UIColor.grayColor()
        btRemove.setTitle("删除", forState: UIControlState.Normal)
        btRemove.addTarget(self, action: "removeView", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(btRemove)
    }
    //第一个按钮的事件响应函数
    func addView(sender:UIButton!){
        let rect = CGRectMake(60, 90, 200, 200)
        let view = UIView(frame: rect)
        view.backgroundColor = UIColor.purpleColor()
        view.tag = 1; //给视图指定一个标志,这样在以后需要的时候,通过标志找到这个视图
        self.view.addSubview(view)
    }
    //第二个按钮的事件响应函数
    func bringViewBack(sender:UIButton)
    {
        let view = self.view.viewWithTag(1)//通过tag来获取之前添加过的视图
        self.view.sendSubviewToBack(view!)//将新添加的视图移动到所有兄弟视图的后面
    }
    //第三个按钮的事件响应函数
    func removeView(sender:UIButton!){
        let view = self.view.viewWithTag(1)
        view?.removeFromSuperview()//将新添加的视图从父视图中删除
    }

运行:

时间: 2024-10-29 19:11:22

UIView视图的相关文章

UIView(视图)详解

UIView表示屏幕上的一块矩形区域, 同时处理该区域的绘制和触摸事件 UIView在我们APP开发中占有非常重要的地位, 因为我们在iPhone上看到的绝大部分视图控件都是UIView的子类 一个视图可以作为其它视图的父视图, 同时决定着它的子视图的位置及大小 下图为UIKit的层级关系: 要知道UIView的知道必须了解如下内容: 一.三个结构体CGRect, CGSize, CGPoint struct CGRect { CGPoint origin;//位置 CGSize size;//

为UIView视图切换添加动画效果

我们定义了一个动画类来实现视图切换的动画效果,这个类只包含一个类方法,可直接调用,具体代码如下: 头文件: + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 #import <Foundation/Foundation.h> @interface ViewAnimation : NSObject /*============================页面切换的方法==============================     View1 表示当前页面     Vi

[Xcode10 实际操作]二、视图与手势-(3)UIView视图的基本操作

本文将实现视图的添加与删除,以及切换视图在父视图中的层次. 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 //创建一个原点在(30,50),尺寸为(200,20

iOS:UIView视图与组件控件

一.UIView常见属性 (1)@property(nonatomic,readonly)UIView *superview; //获取自己的父控件对象 (2)@property(nonatomic,readonly,copy)UIView *subviews;//获取自己的所有子控件对象 (3)@property(nonatomic)NSInteger tag;//控件的ID标识,父控件可以通过tag来找到对应的子控件,默认为0 (4)@property(nonatomic) CGRect f

UIView 视图切换

UIView之间常用视图之间切换方式 转载自:http://www.jianshu.com/p/0d53f9402c07 在平时编写代码的过程中,页面之间的跳转可以说就和MVC模式一样是开发必须的.但是可能我们知道一种或者几种页面之间的跳转,今天我就来总结一下我在开发之中遇到的所有的页面跳转代码.(关于控制器之间的简单的跳转,比如导航控制器跳转.故事版跳转.简单的模态跳转不在这里多说) 一.代理跳转. 通常我们在跳转中经常是通过你点击了某个事件或者某个操作使你进行控制器之间的跳转.那么我们可以在

Objective-c:UIView视图与组件控件

一.UIView常见属性 (1)@property(nonatomic,readonly)UIView *superview; //获取自己的父控件对象 (2)@property(nonatomic,readonly,copy)UIView *subviews;//获取自己的所有子控件对象 (3)@property(nonatomic)NSInteger tag;//控件的ID标识,父控件可以通过tag来找到对应的子控件,默认为0 (4)@property(nonatomic) CGRect f

UIView 视图

创建视图 UIView * view = [[UIView alloc]initWithFrame:CGRectMake(220, 100, 100, 100)];    view.backgroundColor = [UIColor greenColor];    [self.window addSubview:view];    [view release]; view1.center center属性获取视图的中心点.       NSStringFromCGPoint 将一个CGPoin

[Xcode10 实际操作]二、视图与手势-(1)UIView视图的基本使用

本文将演示在视图控制器的根视图里添加两个视图对象. 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 //初始化一个举行区域对象, 9 //它在屏幕上定义了一个矩形

[Xcode10 实际操作]二、视图与手势-(7)UIView视图的渐变填充

本文将演示创建一个具有渐变填充色的图形 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 //初始化一个原点在(10,80),尺寸为(300,300)的矩形常量,作