加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:01:37 所属栏目:百科 来源:网络整理
导读://// UIView+Extension.swift// BasicSwift//// Created by CoderZYWang on 2017/11/28.// Copyright ? 2017年 hc. All rights reserved.//import UIKit/// 加载 UIView 类型的 xibfunc loadNibT(_ : T.Type) - T where T: UIView { return Bundle.main.load
//
//  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)
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读