xib引用自定义xib(oc)
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)相关推荐
- **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)
使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...
- Android中自定义View的研究 -- 在XML中引用自定义View
如果在一直使用SetContentView(new HellwView(this)觉得总是少了一点东西,少了什么了,失去了Android中使用XML定义组件的便携性,这种感觉让人很不爽,呵呵,在这节里 ...
- android 在xml文件中引用自定义View
在xml中引用自定义view 方法一: [java] view plaincopy <com.test.copytext.CopyText android:layout_width=" ...
- 【自定义组件】如何引用自定义组件
1. 可以在APP.JSON内引用自定义组件,此时该组件为所有页面共享. 2. 可以在页面的JSON文件内引用自定义组件,此时为该页面独享. 引入代码如下: /** * myTag 自定义组件名称 * ...
- html中css如何引用自定义字体 - 案例篇
html中css引用自定义字体,实现自定义字体样式效果(含案例) 网页中不同的字体,代码是怎么定义的?怎么引用外来字体文件? html 案例 · 代码如下: <!DOCTYPE html> ...
- vue引用自定义.js文件 (常量抛出 + 地址三级联动为例)- 语法篇
文章目录 vue如何引用`自定义封装的` `.js`文件? `如何操作,详细如下.`(注意代码注释部分:注意1/2/3/4/5) 一.效果图预览: 二.以自定义`area.min.js`文件为例: 三 ...
- vue引用自定义.css文件 - 语法篇
vue如何引用外部自定义的.css文件 ? 一般都会因为存在权重或优先级设置的问题才会侧意引用: [详情进入查看:如何在scoped不污染组件样式的前提下,实现el-input组件样式覆盖?] 再者, ...
- java自定义配置文件_基于java读取并引用自定义配置文件
基于java读取并引用自定义配置文件 首先在resources目录创建自定义的配置文件 配置文件的格式: 写工具类,得到配置参数 import java.io.IOException; import ...
- java获取其他窗体上的控件,怎么获取从引用自定义panel控件的frame里获取它的控件的值...
如何获取从引用自定义panel控件的frame里获取它的控件的值? 以下是自定义的panel控件: package snooker; import java.awt.Component; import ...
最新文章
- geoserver安装_pgRouting教程九:使用GeoServer发布WMS/WFS接口
- 【网寻】mui - 点击事件
- loader.asm 注释
- flex 弹性合模型
- 如何验证远程服务器上文件是否存在
- 在C#中列出进程,杀掉进程。
- PTA Python程序设计-01
- 卡巴斯基携手微软MSN 卡巴斯基2010激活码免费领
- 【千峰网安学习】利用PE破解系统密码
- APP消息推送-个推java端实现
- jsp异常 The JSP specification requires that an attribute name is preceded by whitespace
- 软件测试2年,想去培训性能测试自动化测试,28岁了,要不要培训?
- 蓝字冲销是什么意思_在记账凭证中冲销是什么意思
- 小程序webview内网页实现微信支付
- SharePoint Online:软件边界和限制
- 华盛顿大学西雅图 计算机科学 申请条件,华盛顿大学西雅图分校申请有哪些条件...
- 导出Excel并兼容IE8版本
- OPENGL ES 2.0 知识串讲 (4)——GLSL 语法(II)
- Ubuntu下安装rar软件,解压rar压缩文件方法
- 公司绝对不会告诉你的20个职场潜规则
热门文章
- 怎样批量修改成不同的文件名?
- chromium 16 chromium 登陆 google 账号
- 简单描述什么是hadoop?
- S_ISDIR()函数
- 《人类简史》三、农业革命——使人类悲剧开始的巨大骗局
- QTP如何打开浏览器,并进入网站,关闭浏览器
- Infa连接数据源“指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”
- 精益技术简历之道:改善技术简历的47条原则
- 如果我们刚刚计算出“excel”的散列函数,那么我们就不必再从头开始计算“excel”的散列函数。调整散列函数使得它能够利用前面的计算
- 【Android SDK 开发】Android SDK开发技术分享