swift中UIView的使用

UIView的相关操作

import UIKit

class MainViewController: UIViewController {

    // 创建全局的view
    var myView: UIView?
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.view.backgroundColor = UIColor.red
        
        self.setupView()
        
    }
    
    func setupView() {
        // 创建一个view
        let view = UIView(frame: CGRect(x: 10, y: 50, width: 100, height: 100))
        view.center = CGPoint(x: 100, y: 100)
        view.backgroundColor = UIColor.orange
        self.view.addSubview(view)
        
        // 移除subView
        myView?.removeFromSuperview()
        // 添加subView
        myView?.addSubview(view)
        
        //MARK: view的层级关系
        // 将subView往前移动一个图层(与它的前一个图层对调位置)
        self.view.bringSubview(toFront: myView!)
        // 将subView往后移动一个图层(与它的后一个图层对调位置)
        self.view.sendSubview(toBack: myView!)
        
        // 使用subView的变数名称取得它在UIView中的索引值(index)
        let index = self.view.subviews.index(of: myView!)
        
        // 使用索引index交换两个subView之间的层级
        let index1: Int = 0
        let index2: Int = 1
        self.view.exchangeSubview(at: index1, withSubviewAt: index2)
        
        // 给view加上标记
        myView?.tag = 1000
        // 通过标记tag得到view
        let otherView = UIView().viewWithTag(1000)
        
        // 返回一个数组
        UIView().subviews
        
    }
}

只定义UIView

import UIKit

class SubView: UIView {

    // 重新父类的init方法
    // 指定初始化器
    override init(frame: CGRect) {
        super.init(frame: frame)

    }
    // 必要初始化期
    /**
     为什么一定要添加:
     这是NSCoding protocol定义的,遵守了NSCoding protoaol的所有类必须继承。只是有的情况会隐式继承,而有的情况下需要显示实现。
     
     什么情况下要显示添加:
     当我们在子类定义了指定初始化器(包括自定义和重写父类指定初始化器),那么必须显示实现required init?(coder aDecoder: NSCoder),而其他情况下则会隐式继承,我们可以不用理会。
     
     什么情况下会调用:
     当我们使用storyboard实现界面的时候,程序会调用这个初始化器。
     注意要去掉fatalError,fatalError的意思是无条件停止执行并打印。
     在obj-c中可以通过下面代码实现
     
     */
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,716评论 6 30
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,528评论 5 13
  • 对你的思念像棵树 扇形是不完整的我 羁绊的心 悄然飘落 轻轻掠过你发梢 沿唐至今的千百年岁 你的肩一直是我最安心的停憩
    原小尚阅读 1,937评论 3 2
  • 有人说,当你驻足在阿尔卑斯山脉之上,你会明白幸福的含义。 或为心灵找到安放之所,或触动你的灵魂,观天地风云激荡,悟...
    佛澄心阅读 4,068评论 0 1