iOS - 使用自定义的Xib作为自己的子视图

原创 2016年08月29日 14:23:28

使用自定义Xib作为自己的子视图方法,新建一个项目XibTest工程,在Main.Storyboard 的View下加入一个View子视图。
这里写图片描述
新建子视图文件,创建一个SubxibView.swift和SubXib.xib文件,并设置成你想要的内容,并将File‘s Owner的Custom Class 设置成你SubXibView,而View不要与SubXibView关联。
这里写图片描述
将我们在Main.Storyboard的View 关联上SubXibView,

这里写图片描述

在SubXibView.swift添加以下代码:

import UIKit

class SubXibView: UIView {

    weak var view: UIView!

    func loadViewFromNib() -> UIView {
        let bundle = NSBundle.init(forClass: SubXibView.self)
        let nib = UINib(nibName: String(SubXibView), bundle: bundle)
        let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
        return view
    }

    func setupSubViews() {
        view = loadViewFromNib()
        view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
        addSubview(view)
    }


    override init(frame: CGRect) {
        super.init(frame: frame)
        setupSubViews()
    }

    convenience init() {
        self.init(frame: CGRect.zero)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupSubViews()
    }
}

成功运行,效果如下

这里写图片描述
成功加载了我们自定义的子视图.
在SubXibView.Xib上添加一个Label,并关联到SubXibView.swift上,在setupSubViews() 最后添加一行代码testLabel.text = "测试Label"结果如下:
这里写图片描述
成功获取到子视图关联的组件,代码中可以调用,也不会报空指针异常问题。

版权声明:阳仔原创,转载请注明出处。

使用XIB实现嵌套自定义XIB视图

在进行 iOS 开发的过程中,对于一些复杂的界面,我们可以通过 Interface Builder 这个 Xcode 集成的可视化界面编辑工具在完成,这回节省大部分时间以及代码量。它的使用方法这里...
  • u013263917
  • u013263917
  • 2015年11月02日 14:52
  • 1000

使用XIB实现嵌套自定义视图

在进行iOS开发的过程中,对于一些复杂的界面,我们可以通过Interface Builder这个Xcode集成的可视化界面编辑工具在完成,这回节省大部分时间以及代码量。它的使用方法这里不做介绍了,这次...
  • chelongfei
  • chelongfei
  • 2015年09月09日 09:59
  • 469

XIB中为子视图添加父视图不改变位置

在iOS开发中我们会遇到使用XIB来构建视图,有的时候突然想为多个小控件添加一个底视图,发现把这些子视图选中拖到新建的底视图上的时候,这些小控件的位置全部叠到一个位置了。抓狂了,试过按住ALT,SHI...
  • COOL_BEAR_XX
  • COOL_BEAR_XX
  • 2016年09月02日 18:08
  • 1578

iOS - 使用自定义的Xib作为自己的子视图

使用自定义Xib作为自己的子视图方法,新建一个项目XibTest工程,在Main.Storyboard 的View下加入一个View子视图。 新建子视图文件,创建一个SubxibView.swi...
  • honey199396
  • honey199396
  • 2016年08月29日 14:23
  • 505

动态添加一个XIB子控件

有些情况下需要动态增加一些子控件。 如果用代码直接构建子控件,就是比较麻烦。尽量少写代码。 所以想到的是用xib文件来实现UIView。 问题是UIView不能直接从xib文件构造。 ...
  • happyrabbit456
  • happyrabbit456
  • 2013年07月10日 23:17
  • 806

xib 使用autolayout 设置子控件尺寸与父控件尺寸成比例

橙色是父视图,假设约束如上图。 绿色是子视图。重点宽度比例设置:   1. control-drag(使用鼠标拖动) 选择 equal widths 2. 选中上面那个约束 ...
  • lixueman
  • lixueman
  • 2017年02月17日 17:27
  • 576

xib的view在控制器中布局混乱

1.如果在创建控制器的时候点上了自动创建xib文件,尤其当控制器在navgition中使用的时候,可能会出现布局混乱情况,粗暴解决办法把自动创建的xib控制器delegate,然后再在.m文件中创建子...
  • u011171043
  • u011171043
  • 2016年05月17日 23:30
  • 315

Nested Xib Views - 使用XIB实现嵌套自定义视图

转自:http://www.tuicool.com/articles/ENv6Nf 在进行 iOS 开发的过程中,对于一些复杂的界面,我们可以通过 Interface Builder 这个 ...
  • u010013695
  • u010013695
  • 2015年01月11日 23:01
  • 1878

关于从xib加载视图

关于从xib加载视图
  • jingqiu880905
  • jingqiu880905
  • 2016年06月23日 17:51
  • 1086

imageView用xib添加子控件问题

  • u012701023
  • u012701023
  • 2015年12月29日 18:18
  • 1877
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS - 使用自定义的Xib作为自己的子视图
举报原因:
原因补充:

(最多只允许输入30个字)