swift方法参照:iOS中xib、sb的混合用法(一) - 简书

1.创建自定义UIView:MyView

2.创建MyView对应的xib:MyView

2.1打开xib属性编辑器,找到Simulate Metrics 设置 Size 为 Freeform

2.2 选择xib File’s Owner 选择 属性编辑器 - 设置Class 为 MyView

注意:

(1). 这里必须选择 File's Owner. 如果设置的是View 的 Custom Class  为 MyView ,程序将出现问题。

(2). 以下两个设置效果是一样的.

3.设置 MyView 类 (MyView.m、MyView.h)

3.1.在MyView.m文件中添加 contentView

3.2.设置contentView:

self.contentView = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil].lastObject;

3.3设置contentView布局:

self.contentView.frame = self.bounds;

如果项目中使用了Masonry,可以使用自动布局

[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {

make.top.left.bottom.right.mas_equalTo(0);

}];

3.4添加方法 setUpView (自定义方法),在该方法中设置 contentView,设置contentView布局,并添加到 self 上。

3.5添加方法awakeFromNib,initWithCorder:

注意:系统获取xib控件会先调用 initWithCorder: 之后会调用 awakeFromNib,所以,这两个方法选择其中任何一个,并调用 setupView 方法都能实现想要效果。

3.5添加方法init,initWithFrame:

注意:这两个方法将在 使用代码添加该自定义view时 被调用。因此需要在这两个方法中添加 setUpView 方法。

4. 自定义view 上控件xib连线 ,(通常操作即可)

 5.使用

在需要使用的xib、sb中添加一个UIView,并将 该UIView的Class 设置为 MyView,即可。

6.运行效果

7.图层查看:

MyView:xib、sb上添加的 UIView,类型为 MyView

UIView:MyView中手动添加的contentView,使用xib生成,使用手动添加到self(MyView)上。

xib引用自定义xib(oc)相关推荐

  1. **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

    使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...

  2. Android中自定义View的研究 -- 在XML中引用自定义View

    如果在一直使用SetContentView(new HellwView(this)觉得总是少了一点东西,少了什么了,失去了Android中使用XML定义组件的便携性,这种感觉让人很不爽,呵呵,在这节里 ...

  3. android 在xml文件中引用自定义View

    在xml中引用自定义view 方法一: [java] view plaincopy <com.test.copytext.CopyText android:layout_width=" ...

  4. 【自定义组件】如何引用自定义组件

    1. 可以在APP.JSON内引用自定义组件,此时该组件为所有页面共享. 2. 可以在页面的JSON文件内引用自定义组件,此时为该页面独享. 引入代码如下: /** * myTag 自定义组件名称 * ...

  5. html中css如何引用自定义字体 - 案例篇

    html中css引用自定义字体,实现自定义字体样式效果(含案例) 网页中不同的字体,代码是怎么定义的?怎么引用外来字体文件? html 案例 · 代码如下: <!DOCTYPE html> ...

  6. vue引用自定义.js文件 (常量抛出 + 地址三级联动为例)- 语法篇

    文章目录 vue如何引用`自定义封装的` `.js`文件? `如何操作,详细如下.`(注意代码注释部分:注意1/2/3/4/5) 一.效果图预览: 二.以自定义`area.min.js`文件为例: 三 ...

  7. vue引用自定义.css文件 - 语法篇

    vue如何引用外部自定义的.css文件 ? 一般都会因为存在权重或优先级设置的问题才会侧意引用: [详情进入查看:如何在scoped不污染组件样式的前提下,实现el-input组件样式覆盖?] 再者, ...

  8. java自定义配置文件_基于java读取并引用自定义配置文件

    基于java读取并引用自定义配置文件 首先在resources目录创建自定义的配置文件 配置文件的格式: 写工具类,得到配置参数 import java.io.IOException; import ...

  9. java获取其他窗体上的控件,怎么获取从引用自定义panel控件的frame里获取它的控件的值...

    如何获取从引用自定义panel控件的frame里获取它的控件的值? 以下是自定义的panel控件: package snooker; import java.awt.Component; import ...

最新文章

  1. geoserver安装_pgRouting教程九:使用GeoServer发布WMS/WFS接口
  2. 【网寻】mui - 点击事件
  3. loader.asm 注释
  4. flex 弹性合模型
  5. 如何验证远程服务器上文件是否存在
  6. 在C#中列出进程,杀掉进程。
  7. PTA Python程序设计-01
  8. 卡巴斯基携手微软MSN 卡巴斯基2010激活码免费领
  9. 【千峰网安学习】利用PE破解系统密码
  10. APP消息推送-个推java端实现
  11. jsp异常 The JSP specification requires that an attribute name is preceded by whitespace
  12. 软件测试2年,想去培训性能测试自动化测试,28岁了,要不要培训?
  13. 蓝字冲销是什么意思_在记账凭证中冲销是什么意思
  14. 小程序webview内网页实现微信支付
  15. SharePoint Online:软件边界和限制
  16. 华盛顿大学西雅图 计算机科学 申请条件,华盛顿大学西雅图分校申请有哪些条件...
  17. 导出Excel并兼容IE8版本
  18. OPENGL ES 2.0 知识串讲 (4)——GLSL 语法(II)
  19. Ubuntu下安装rar软件,解压rar压缩文件方法
  20. 公司绝对不会告诉你的20个职场潜规则

热门文章

  1. 怎样批量修改成不同的文件名?
  2. chromium 16 chromium 登陆 google 账号
  3. 简单描述什么是hadoop?
  4. S_ISDIR()函数
  5. 《人类简史》三、农业革命——使人类悲剧开始的巨大骗局
  6. QTP如何打开浏览器,并进入网站,关闭浏览器
  7. Infa连接数据源“指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”
  8. 精益技术简历之道:改善技术简历的47条原则
  9. 如果我们刚刚计算出“excel”的散列函数,那么我们就不必再从头开始计算“excel”的散列函数。调整散列函数使得它能够利用前面的计算
  10. 【Android SDK 开发】Android SDK开发技术分享