当前位置: 首页 > 面试题库 >

如何在Swift中使用XIB文件初始化/实例化自定义UIView类

杜昆琦
2023-03-14
问题内容

我有一个称为MyClass的子类UIView,我想用一个XIB文件初始化。我不确定如何使用名为xib的文件初始化此类View.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)

要么

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

更新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
}


 类似资料:
  • 本文向大家介绍Swift使用参数自定义初始化,包括了Swift使用参数自定义初始化的使用技巧和注意事项,需要的朋友参考一下 示例 请注意,您不能省略参数标签: 为了允许省略参数标签,请使用下划线_作为标签: 如果参数标签使用一个或多个属性共享名称,请使用self显式设置属性值:            

  • 如何向Swift中的子类添加自定义初始化器? 我创建了的一个子类,它看起来如下所示: 如果我加上这个,Xcode会抱怨处初始化。所以我想这也不是解决办法。所以我想知道如何在Swift中将自定义初始化器正确地添加到子类中(因为在Objective-C中这似乎不是问题)?

  • Swift 5.x String初始化、定义 1. 字面量初始化字符串 1.1 单行字面量字符串 let str = "some string" 1.2 字面量初始化多行字符串 let str = """ The white Rabbit put on his spectacles. "Where shell I begin, please your Majesty?" he asked. "

  • 问题内容: 我可以像下面这样以编程方式创建简单的自定义viewForHeaderInSection。但是我想做更多复杂的事情,例如与不同的类连接,并像tableView单元格一样达到其属性。简而言之,我想看看我在做什么。 有没有人可以解释如何使用xib创建自定义tableView标头视图?我遇到过旧的Obj-C主题,但是我是Swift语言的新手。如果有人详细解释,那太好了。 1.问题: 按钮@IB

  • 问题内容: 我正在跟踪Swift和Objective-C Runtime,它适用于常规方法。 我喜欢使用init方法,据我了解,init就像一个类方法。因此,我尝试将初始化作为实例和类方法。但这似乎不起作用 我可以使用Objective C使其工作,只是想知道如何在Swift中使其工作 摘录自我的要旨 问题答案: 为方法创建选择器时,应使用Obj C方法签名作为选择器的基础,因为使用Obj C运行

  • 问题内容: 道歉,如果以前已经问过这个问题,我已经搜索了很多,并且许多答案都来自早期Swift的Beta版本,当时情况有所不同。我似乎找不到确切的答案。 我想创建一个子类,并有一个自定义的初始化程序,使我可以轻松地在代码中进行设置。我在Swift中无法执行此操作。 我想要一个可以用来传递特定参数的函数,然后将其与视图控制器一起使用。在我看来,它看起来像。如果我添加了该功能,则要求我添加该功能。 我