使用 Interface Builder 嵌套自定义类/XIB

2023-11-25

我会尽力使其简短。

我编写了一个自定义类,它使用几个 IBOutlet 属性扩展 UIView,并且它有一个与之关联的 XIB,这些 IBOutlet 链接到该 XIB。

然后我想学习该类,将其嵌入到其他 XIB(例如,表格单元格)中,然后让它工作。

似乎当我在新 XIB 中嵌入该自定义类时,它无法识别与其关联的原始 XIB,因此它要求我将 IBOutlet 重置为新 XIB 上的接口元素。这太蹩脚了。

有谁理解我想要做什么并有一个好的方法?


以下是我如何成功完成这项工作:

在界面生成器中
打开外笔尖并执行以下操作:

  • 添加 UIView 来定义您希望内部笔尖显示的空间。
  • 从库中添加一个 UIViewController 对象,将其 Nib Name 属性设置为内部 nib 文件的名称(不带扩展名)。
  • 在外部视图控制器中为这两个项目创建 IBOutlet 并将它们连接起来。 (我将它们称为内部视图 and 内部视图控制器.)
  • 不要将内部视图控制器中定义的任何 IBOutlet 连接到外部 nib 文件中的任何内容,只需将它们保持未连接即可。

In Xcode
在你的外部视图控制器中viewDidLoad方法,添加这两行:

[self.innerView addSubview:self.innerViewController.view];
self.innerViewController.view.frame = CGRectMake(0, 0, self.innerView.frame.size.width, self.innerView.frame.size.height);

如果您的外部笔尖是自定义 UITableViewCell,请将这些行放入您的从笔尖唤醒方法代替。

构建并运行!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Interface Builder 嵌套自定义类/XIB 的相关文章

  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 声音在模拟器中工作,而不是在真实 iPhone 中工作

    有几短音效播放的样本在模拟器中很好 但在真正的 iPhone 中根本不行3GS 以下是 Apple SysSound 示例中的代码 CFBundleRef mb CFBundleGetMainBundle CFURLRef soundFil
  • 如何创建一个 NSMutableArray 并为其分配一个特定的对象?

    我刚刚开始接触 Obj C 并且希望创建一个 MKAnnotations 数组 我已经创建了名为的 MKAnnotation 类TruckLocation其中包含名称 描述 纬度和经度 这是到目前为止我所拥有的数组 NSMutableArr
  • 如何查找哪个注释发送了showDetails?

    如何查找哪个注释发送了showDetails MKPinAnnotationView customPinView MKPinAnnotationView alloc initWithAnnotation annotation reuseId
  • 替代已弃用的 NSNibLoading 方法(loadNibFile:、loadNibNamed: 等)?

    我发现 NSBundle 中的 NSNibLoading 方法 NSBundle loadNibFile externalNameTable withZone NSBundle loadNibNamed owner NSBundle loa
  • 使用 NSSet/NSMutableSet 来过滤对象?

    我已经看到一些有关使用 NSSet NSMutableSet 过滤对象的问题 答案 这些情况使用简单类型的对象 例如NSString or int 以下是用于过滤的代码示例NSString对象 NSSet smallArray NSSet
  • iOS 上每个选项的带有图像的操作表

    有没有办法在 iOS 上将图像添加到操作表中 与苹果在应用程序商店或苹果音乐应用程序上所做的一样 我对苹果文档的基本搜索表明我没有在操作表中子类化或添加子视图 UIActionSheet 并非设计为子类化 也不应向其层次结构添加视图 苹果文
  • 我可以在 NS_SWIFT_NAME 中使用保留关键字吗?

    我正在尝试使 Objective C 委托协议更漂亮以便在 Swift 中使用 但我在弄清楚如何使用时遇到了一些麻烦NS SWIFT NAME 是否可以使用NS SWIFT NAME指定 Swift 名称中与 Objective C 关键字
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 开发: [[self navigationController] viewControllers]; 有哪些原因?会返回零吗?

    以下语句返回零 NSArray viewControllersInNavStack self navigationController viewControllers 这个语句是在导航堆栈中大约四层深度的视图控制器中调用的 所以我不明白它如
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 自动布局和ios5

    我正在使用故事板 我已经使用了自动布局 但它不适用于 ios5 并且会崩溃 所以我想删除它 但是 如何取消选中自动布局 但如果我取消选中自动布局 我如何为 iPhone 4 和 5 设置屏幕 Regards 您可以在 IB 中禁用自动布局
  • 使用反射的属性类型或类

    我想知道是否可以确定对象属性的类或原始类型 获取所有属性名称和值非常容易 所以答案 https stackoverflow com questions 2299841 objective c introspection reflection
  • 更改 UITextField 辅助功能描述

    有没有办法将 UITextField 的辅助功能标签设置为 文本字段 之外的其他内容 因此 我不想将其称为 文本字段 而是将其命名为 代码验证字段 我的建议是不要试图在内置语音输出上智取系统 对于盲人用户来说 文本字段正在编辑 相当于 该项
  • MKMapView 中显示多个注释标注

    是否可以同时打开多个标注 代码 void mapViewDidFinishLoadingMap MKMapView theMapView for id
  • Monotouch 和本机 iOS 代码

    是否可以将使用 monotouch 编译的 C 库与单个应用程序中的 Objective C 前端链接起来 或者该应用程序必须是全部还是全无 这是可能的 但您不会从 MonoTouch 工具获得任何帮助 并且您无法摆脱这样一个事实 您仍然需
  • 为什么 GDB 调试器不断冻结 Xcode 4?

    这真是一个奇怪的错误 我正在开发一个使用相机源的 iPhone 项目 并通过 OpenGL 着色器运行它以对其应用效果 然而 每次我在代码中简单地创建一个新的 GLfloat 时 调试器都会在启动时冻结 我无法复制和粘贴文本 因为整个 XC
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f

随机推荐

  • 在名称与其 getter 不同的字段上使用 jackson 注释 JsonUnwrapped

    我有一堂课 比如 class Car private Engine myEngine JsonProperty color private String myColor JsonProperty maxspeed private int m
  • Wikidata - SPARQL 查询的请求限制

    查询次数有限制吗Wikidata 仅 SPARQL 查询 不编辑 我找不到任何关于此的官方文档 我想知道每分钟 小时 以及每个 IP 地址 的强查询限制有多大 是的 有限制 单个查询当前限制为 1 分钟运行时间 文档在这里 https ww
  • 不变性的真正定义?

    我想知道不变性是如何定义的 如果这些值没有公开 因此无法修改 那么这就足够了吗 是否可以在类型内部修改值 而不是由类型的客户修改 或者只能将它们设置在构造函数中 如果是这样 在双重初始化的情况下 使用this结构上的关键字等 对于不可变类型
  • app.js 中的全局变量可在路由中访问吗?

    我如何设置一个变量app js并使其在所有路线上都可用 至少在index js文件位于路径中 使用express框架和node js 实际上 使用 Express 对象上可用的 set 和 get 方法可以很容易地做到这一点 示例如下 假设
  • 如何在 MATLAB 中删除轴

    axis off不工作 function displayResults filename hObject eventdata handles Open filename file for reading fid fopen filename
  • 为什么Java的Arrays.sort方法对不同的类型使用两种不同的排序算法?

    Java 6 的Arrays sort方法对基元数组使用快速排序 对对象数组使用合并排序 我相信大多数时候快速排序比合并排序更快并且消耗更少的内存 我的实验支持这一点 尽管两种算法都是 O n log n 那么为什么不同的类型使用不同的算法
  • AFNetworking-2 waitUntilFinished 不起作用

    我知道有另一个类似的问题 但它适用于旧版本的 AFNetworking 而且并没有真正回答它 我有以下代码 AFHTTPRequestOperationManager manager AFHTTPRequestOperationManage
  • Google Maps API a.lat 不是函数错误

    我正在创建一个代码 可以通过使用分割作为分隔符来协调 CSV 文件中的数据 并计算两个输入坐标之间的距离 但结果总是显示错误a lat is not a function 我已经在网上浏览了有关此特定错误类型的信息 但似乎找不到正确的解决方
  • C# 中可调整大小的表格布局面板

    我发现 c net 2 0 中的表格布局面板非常原始 我希望允许我的用户调整表格布局面板中的列大小 但没有现成的选项可以执行此操作 有没有办法至少找出光标是否直接位于单元格的任何边框上 如果是 则哪个单元格位于其下方 可能有了这些信息 我们
  • 如何使用应用内自定义键盘的按钮输入文本

    我制作了一个应用程序内自定义键盘 它取代了系统键盘 并在我点击内部时弹出UITextField 这是我的代码 class ViewController UIViewController var myCustomKeyboard UIView
  • 数据表过滤:linq 与过滤器?

    过滤内存对象 数据表 这样做之间有很大的不同吗 var t dt Select id 2 vs var g dt AsEnumerable Where f gt f id ToString 2 我假设DataTable Select需要更多
  • 在 3D 世界中渲染 2D 精灵?

    假设我有精灵的 png 如何在 OpenGL 中渲染 2D 精灵 将图像作为我想要实现的效果的示例 另外 我想在屏幕上覆盖武器 例如底部图像中的步枪 有谁知道我如何实现这两种效果 任何帮助是极大的赞赏 在 3D 术语中 这称为 广告牌 广告
  • 计算太阳位于地平线以下/之上 X 度的时间

    我想知道太阳在地平线以下 之上 X 度的时间是什么时候 例如 我想找到太阳位于地平线以下 19 75 度的时间 我认为这与函数中的最高点有关date sunrise date sunset但我不确定 提前致谢 收集您需要的日期的太阳星历数据
  • 当我运行 Angular 4 应用程序时,哪个文件首先运行该应用程序?

    我正在使用 Angular 4 我有一个问题 当我运行项目并使用 ngserve 时 项目中的哪个文件首先呈现 有很多文件 例如main ts angular cli json app module我不明白当我运行 ngserve 时发生了
  • 从 ElasticSearch 中的数组中删除元素/对象,然后进行匹配查询

    我在尝试从 elasticsearch 中的数组中删除元素 对象时遇到问题 这是索引的映射 example1 mappings doc properties locations type geo point postDate type da
  • 是什么 !! JavaScript 中的(不是 not)运算符?

    我看到一些代码似乎使用了我不认识的运算符 以两个感叹号的形式 如下所示 有人可以告诉我这个操作员是做什么的吗 我看到这个的背景是 this vertical vertical undefined vertical this vertical
  • 分析生产代码

    我正在考虑实现一些在生产服务器上分析代码的东西 并需要一些最佳实践建议 显然 分析所有请求是一个坏主意 因为会增加开销 因此我正在研究一些可以根据请求随机调用分析器的技术 类似于每 10 000 个请求 1 个配置文件 我知道有一种方法可以
  • 列元素上的 CSS 3 动画“变换:缩放”在 Chrome 上不起作用

    我在 Chrome v44 中遇到问题 我尝试使用 transform scale 1 1 放大列项中的图像 但动画不起作用 如果我尝试在 Firefox 上使用 效果很好 我认为问题是由于 chrome 造成的 但我想知道是否有人找到了解
  • 我如何中断正在执行 (*TCPListener) Accept 的 goroutine?

    我最近正在玩 go 并尝试创建一些服务器来响应 tcp 连接上的客户端 我的问题是如何干净地关闭服务器并中断当前在以下调用中 被阻止 的 go 例程 func TCPListener 接受吗 根据接受的文档 Accept实现Listener
  • 使用 Interface Builder 嵌套自定义类/XIB

    我会尽力使其简短 我编写了一个自定义类 它使用几个 IBOutlet 属性扩展 UIView 并且它有一个与之关联的 XIB 这些 IBOutlet 链接到该 XIB 然后我想学习该类 将其嵌入到其他 XIB 例如 表格单元格 中 然后让它