Swift 【利用 泛型 便利 xib 的加载过程】

前端之家收集整理的这篇文章主要介绍了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>(_ : 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>(_ : 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)
    }
}

猜你在找的Swift相关文章