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)) Father_View.backgroundColor = UIColor.redColor() self.view.addSubview(Father_View)
//创建子视图 let Son_View = UIView(frame: CGRectMake(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)) 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) Son2_View.frame = CGRectMake(20,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>>,0)"> 2 <UIView: 0x7f98e0c55ab0; frame = (20 20; 100 100); layer = <CALayer: 0x7f98e0c55c20>>,0)"> 3 <UIView: 0x7f98e0c555b0; frame = (100 100; 100 100); layer = <CALayer: 0x7f98e0c55720>>] */
//第二种 将视图View 置于某个视图的下面 //首先调整son2坐标 Son2_View.frame = CGRectMake(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)) 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)) 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,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. } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |