将xib指定给Swift中的UIView

将xib指定给Swift中的UIView,第1张

概述在目标c中它可以在init方法中完成 -(id)init{ self = [[[NSBundle mainBundle] loadNibNamed:@"ViewBtnWishList" owner:0 options:nil] objectAtIndex:0];return self;} 但当我在swift中这样做 init(frame: CGRect) { self 在目标c中它可以在init方法中完成
-(ID)init{    self = [[[NSBundle mainBundle] loadNibnamed:@"VIEwBtnWishList" owner:0 options:nil]     objectAtIndex:0];return self;}

但当我在swift中这样做

init(frame: CGRect) {    self = NSBundle.mainBundle().loadNibnamed("VIEwDetailMenu",owner: 0,options: nil)[0] as? UIVIEw}

不能分配给自己在方法中显示错误。
现在我的方法是创建一个视图,并将从nib加载的视图添加到它。
任何人都有一个更好的主意?

您可以在UIVIEw上创建扩展:
extension UIVIEw {    class func loadFromNibnamed(nibnamed: String,bundle : NSBundle? = nil) -> UIVIEw? {        return UINib(            nibname: nibnamed,bundle: bundle        ).instantiateWithOwner(nil,options: nil)[0] as? UIVIEw    }}

注意:使用UINib更快,因为它为您缓存。

然后你可以做:

VIEwDetailitem.loadFromNibnamed("VIEwBtnWishList")

您将能够在任何视图上重用该方法。

总结

以上是内存溢出为你收集整理的将xib指定给Swift中的UIView全部内容,希望文章能够帮你解决将xib指定给Swift中的UIView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1060079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存