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视图_第1张图片

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视图_第2张图片

 

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()//将新添加的视图从父视图中删除
    }

运行:

UIView视图_第3张图片

 

给视图添加边框

override func viewDidLoad() {
        super.viewDidLoad()
        //UIImage是一个用来加载和绘制图像的类
        let image = UIImage(named: "pic")
        let imageView = UIImageView(image: image)//赋值给图像视图容器UIImageView
        //初始化一个图像的显示区域
        imageView.frame = CGRectMake(24, 80, 272, 410)
        imageView.layer.borderWidth = 10 //设置图层边框宽度,视图真正的绘图部分是CALayer类管理的
        imageView.layer.borderColor = UIColor.lightGrayColor().CGColor
        
        self.view.addSubview(imageView)
    }

运行:

UIView视图_第4张图片

 给视图添加圆角

override func viewDidLoad() {
        super.viewDidLoad()
        
        let image = UIImage(named: "pic")
        let imageView = UIImageView(image: image)
        imageView.frame = CGRectMake(24, 80, 272, 410)
        imageView.layer.cornerRadius = 50 //圆角大小
        imageView.layer.masksToBounds = true //遮罩覆盖属性,边届裁切

        self.view.addSubview(imageView)
    }

运行:

UIView视图_第5张图片

给视图添加阴影效果

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let image = UIImage(named: "pic4")
        let imageView = UIImageView(image: image)
        imageView.frame = CGRectMake(36, 80, 200, 200)//设置图像视图的显示区域
        imageView.layer.shadowColor = UIColor.blackColor().CGColor //阴影颜色
        imageView.layer.shadowOffset = CGSizeMake(10.0, 10.0) //阴影的横向和纵向偏移值
        imageView.layer.shadowOpacity = 0.45 //图像层的阴影透明度
        imageView.layer.shadowRadius = 5.0 //阴影的半径大小
        
        self.view.addSubview(imageView)
    }

运行:

UIView视图_第6张图片

视图的渐变填充

 

你可能感兴趣的:(UIView视图)