我有一个名为MyClass的类,它是UIView的子类,我想用XIB文件初始化它.我不确定如何使用名为View.xib的xib文件初始化这个类

class MyClass: UIView {

    // what should I do here? 
    //init(coder aDecoder: NSCoder) {} ?? 
}

推荐答案

我测试了这段代码,它工作得很好:

class MyClass: UIView {        
    class func instanceFromNib() -> UIView {
        return UINib(nibName: "nib file name", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as UIView
    }    
}

初始化视图并使用,如下所示:

var view = MyClass.instanceFromNib()
self.view.addSubview(view)

OR

var view = MyClass.instanceFromNib
self.view.addSubview(view())

UPDATE Swift >=3.x & Swift >=4.x

class func instanceFromNib() -> UIView {
    return UINib(nibName: "nib file name", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
}

Ios相关问答推荐

我如何确保用户继续他们在应用程序中停止的地方?

preferredCompactColumn作为NavigationSplitViewColumn.sidebar传递,但仍能在iOS上看到详细信息页面

为什么导航栏在与Style.Page的选项卡栏一起使用时停止工作?

由于代码签名时出错,无法在iOS设备上发布iOS Maui Build

如何从单独的视图更改修饰符的值

iOS设备网页自动化中,在向字段发送文本后未启用按钮

尽管存在浮点错误,如何显示正确的计算结果.计算器应用程序

iOS SwiftUI - 使用 PhotosPicker 从图库中 Select 图像或视频

expo EAS build (iOS) 在 Pod 安装步骤中失败 (SDK45 & 46)

List touch Tabbar 时 SwiftUI Tabbar 消失

SwiftUI withAnimation 在视图出现之前不会启动

分析应用程序版本时出错 - Apple 提交到store

如何判断 `NSManagedObject` 是否已被删除?

如何更新推送通知服务证书

向标签栏控制器添加新标签

UIView 和 initWithFrame 以及一个 NIB 文件.如何加载 NIB 文件?

aps-environment 始终在发展

判断密钥是否存在于 NSDictionary 中

UICollectionView flowLayout 没有正确包装单元格

SwiftUI 应用生命周期 iOS14 AppDelegate 代码放哪里?