欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Swift 开发教程之利用 泛型 便利 xib 的加载过程

程序员文章站 2022-04-26 12:38:07
swift 开发教程之利用 泛型 便利 xib 的加载过程。 // // uiview+extension.swift // basicswift // // created by...

swift 开发教程之利用 泛型 便利 xib 的加载过程。

//
//  uiview+extension.swift
//  basicswift
//
//  created by coderzywang on 2017/11/28.
//  copyright © 2017年 hc. all rights reserved.
//

import uikit

/// 加载 uiview 类型的 xib
func loadnib(_ : t.type) -> t where t: uiview {
    return bundle.main.loadnibnamed("\(t.self)", owner: nil, options: nil)?.first as! t
}

/// 加载 uiview 类型的 xib(并设置 frame 参数)
func loadnib(_ : t.type, frame: cgrect) -> t where t: uiview {
    let tview = loadnib(viewtype)
    tview.frame = frame
    return tview
}

 

 

//
//  homeviewcontroller.swift
//  basicswift
//
//  created by coderzywang on 2017/11/27.
//  copyright © 2017年 hc. all rights reserved.
//

import uikit

class homeviewcontroller: uiviewcontroller {
    override func viewdidload() {
        setupui()
    }
}

extension homeviewcontroller {
    func setupui() {
        view.backgroundcolor = uicolor(hex: "ff5a39", alpha: 0.5)
    
        let laolaoview = loadnib(laolaoview.self, frame: cgrect(x: 20, y: 220, width: 300, height: 150))
        view.addsubview(laolaoview)
        
        let laolaoview02 = loadnib(laolaoview.self)
        view.addsubview(laolaoview02)
        laolaoview02.frame = cgrect(x: 20, y: 400, width: 200, height: 120)
    }
}