Swift UIView 的多种添加方法和打标签和移除(方法的详解)、父子视图的关系

//

//  ViewController.swift

//  Swift_003

//

//  Created by 周双建 on 15/11/29.

//  Copyright © 2015 周双建. All rights reserved.

//

//父视图和字视图

import UIKit


class ViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        //创建父视图

        let  Father_View = UIView(frame: CGRectMake(100,100,100,100))

        Father_View.backgroundColor = UIColor.redColor()

        self.view.addSubview(Father_View)

        

        //创建子视图

        let  Son_View = UIView(frame: CGRectMake(20,20,20,20))

        Son_View.backgroundColor = UIColor.greenColor()

        Father_View.addSubview(Son_View)

        // Do any additional setup after loading the view, typically from a nib.

       //创建子视图2

        let  Son2_View = UIView(frame: CGRectMake(10,10,10,10))

        Son2_View.backgroundColor = UIColor.blackColor()

        Son_View.addSubview(Son2_View)

        

        //获取父视图的所有子视图

        print(self.view.subviews)

        //获取Son_View的所有子视图

        print(Son_View.subviews)

        /********************************************************/

        

        //添加子视图的其他方法

        Son_View.frame = CGRectMake(20, 20, 100, 100)

        Son2_View.frame = CGRectMake(20, 20, 100, 100)

        

        //第一种   将视图View 置于子视图数组的下标为Index的位置

        self.view.insertSubview(Son2_View, atIndex: 2)

        print(self.view.subviews)

        /*   打印结果

        0   [<_UILayoutGuide: 0x7f98e0c56860; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x7f98e0c55590>>,

        

        1   <_UILayoutGuide: 0x7f98e0f24e80; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x7f98e0f0cad0>>,

        

        2   <UIView: 0x7f98e0c55ab0; frame = (20 20; 100 100); layer = <CALayer: 0x7f98e0c55c20>>,

        

        3   <UIView: 0x7f98e0c555b0; frame = (100 100; 100 100); layer = <CALayer: 0x7f98e0c55720>>]

        */

        

        //第二种   将视图View 置于某个视图的下面

        //首先调整son2坐标

        Son2_View.frame = CGRectMake(100, 100, 100, 100)

        self.view.insertSubview(Son2_View, belowSubview: Son_View)

        

        //  View的隐藏    true   false   YES   NO

        Son_View.hidden = true

        Son2_View.hidden = true

        

        

        let  Father1_view = UIView(frame: CGRectMake(120,120,100,100))

        Father1_view.backgroundColor = UIColor.magentaColor()

        //View 设置  tag  标签

        Father1_view.tag = 100

        self.view.addSubview(Father1_view)

        

        

        let  View_Common = UIView(frame: CGRectMake(110,110,100,100))

        View_Common.backgroundColor = UIColor.blackColor()

        self.view.insertSubview(View_Common, belowSubview: Father1_view)

        

        /*

            这是将  View_Conmon 置于Father1_view 的下面

        */

        

        /*******************************************************/

        View_Common.hidden = true

        

        let  View_one = UIView(frame: CGRectMake(110,110,100,100))

        View_one.backgroundColor = UIColor.blackColor()

        self.view.insertSubview(View_one, aboveSubview: Father_View)

        /*

           这是View_one 置于 Father_View 的上面

        */

        

        /*******************************************************/

         View_one.removeFromSuperview()

        /*

           View 的移除

        */

    }

    

/*

    <UIView: 0x7fc599613530; frame = (100 100; 100 100); layer = <CALayer: 0x7fc5996136a0>>]

*/

    /*

    [<UIView: 0x7f8bb873c8f0; frame = (10 10; 10 10); layer = <CALayer: 0x7f8bb8705b00>>]

     这说明命Son2_View  不是Father_View 的子视图

    */

    

    

    

     override func  touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

         var View_Two = self.view.viewWithTag(100)

        View_Two!.backgroundColor = UIColor.grayColor()

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }



}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值