如何以编程方式访问 NIB 中的 UI 元素而不“连接”它们?

2024-04-08

我正在考虑编写一些辅助函数,以便更轻松地对 iPhone NIB 中的 UI 元素进行简单的更改。主要是 - 我想通过 Interface Builder 中的名称访问 UILabel 或其他元素。这可能吗?有更聪明的方法吗?

Example

假设我想制作一个超级简单的 iPhone 应用程序来显示“Hello World”。我启动一个新项目,然后打开 NIB 并将 UILabel 拖到我的视图中,并为其指定“名称”“LblMain”。现在,假设我已经包含了方便的辅助函数,我想为标签分配一些新文本,如下所示:

[helper setText:@"Hello World" forLabel:@"LblMain"];

-or-

UILabel *ObjTmp = [helper getUILabel:@"LblMain"];
ObjTemp.text = @"Hello World";

现在 - 诀窍是我没有添加:

IBoutlet UILabel *ObjLblMain;

.h 文件中的任何位置 - 我只是动态访问该标签 - 这不是很好吗?!

现在,对于简单的应用程序,要添加更多标签或图像,我可以将它们拖到我的 NIB 中,在该元素的检查器窗口中为它们分配名称,然后立即在代码中访问它们,而无需将它们添加到 .h 中。文件。

动机

  • 基本上,我对必须连接 NIB 中的每个元素感到沮丧 - 这是我宁愿避免的大量口吃和簿记。
  • 我可以为设计提供一些命名约定,他们可以生成 NIB,而无需熟悉实现。

加载对象后名称 100% 不可访问,我一直认为这也很奇怪。

可访问的是“标签”,如果您确实想在不定义出口的情况下访问元素,您可以设置(仅限整数)“标签”值,然后在保存标记元素的超级视图中调用viewWithTag:传入相同的整数。不要忘记默认值为“0”,因此请使用其他值。

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

如何以编程方式访问 NIB 中的 UI 元素而不“连接”它们? 的相关文章

随机推荐

  • Mysql 嵌套查询和 GROUP BY

    我正在尝试对我的数据库执行以下查询 SELECT source Month as t1 GROUP CONCAT SELECT SUM amount FROM reports GROUP BY Month as amount FROM re
  • 如何在应用程序内计费

    我从事编程多年 也做过一些专业的编程项目 最近 我有一个朋友询问如何创建一个电子商务网站 但我不得不拒绝她 因为我从未开发过可以计费的网络应用程序 将来我可能还需要编写一个基于订阅的 Web 服务 我的问题是 我该如何开始计费 我从来没有找
  • Python - 测试属性抛出异常

    Given def test to check exception is thrown self Arrange c Class Act and Assert self assertRaises NameError c do somethi
  • FirebaseInitProvider:FirebaseApp 初始化失败

    我们已经遵循了将 Firebase 添加到您的 Android 项目 https firebase google com docs android setup但我们在 Firebase 控制台中看不到应用程序接收数据 当我们启动应用程序时
  • 非终止 while 循环

    我只是想知道一些事情 我有以下代码 include
  • 如何在 Perl 中使用符号引用?

    在 Perl 中 如果一个变量保存另一个变量的名称 我如何使用第一个变量来访问另一个变量 例如 让 name bob bob jerk perlfan 我应该如何使用 name 来了解 Bob 是一个什么样的人 虽然我不太确定 但我模糊的记
  • 如何使用弱链接 CocoaPods 库构建 iOS 框架

    我正在尝试使用 Xcode 6 提供的新模板来构建一个 iOS 框架 Test framework 用于创建 Cocoa Touch 框架 该框架具有在 Podfile 中指定的不同依赖项 如 AFNetworking 或 Facebook
  • App Engine 上的 Servlet 响应中与缓存相关的 HTTP 标头被覆盖

    我在应用程序引擎上有一个提供图像的servlet Servlet 正确设置 HTTP 标头值以指示应缓存图像 但 App Engine 会覆盖这些标头 从而导致图像不被缓存 请注意 相同的代码以前可以工作 但现在一段时间不能工作 App 引
  • 在加载页面的所有元素之前加载 Chrome 扩展

    我想在页面的所有元素加载之前 而不是之后 加载我的 Chrome 扩展 这可能吗 谢谢 如果通过扩展你的意思是内容脚本那么你最多可以做的是设置 run at document start 清单中的财产意味着 内容脚本 文件是在 css 中的
  • 使用 PHP 的交互式 shell

    是否可以单独使用 PHP 创建交互式 shell 我的意思是像数据库一样 Python https en wikipedia org wiki Python 28programming language 29等等 如果是的话 怎么样 是的
  • Github 下载页面/按钮不再可见

    我曾经使用存储库中文件选项卡上的下载 添加下载 按钮上传二进制文件 这个功能好像没有了 有人知道为什么吗 临时 Github 问题 浏览器问题 GitHub 上传已于 12 月 11 日停止 请参阅博客文章 https github com
  • "rdtsc": "=a" (a0), "=d" (d0) 这是做什么的? [复制]

    这个问题在这里已经有答案了 我是 C 和基准测试的新手 我不明白这部分代码的作用是什么 所以我发现了一些关于 edx eax 寄存器的信息 但我不完全理解它是如何在代码中发挥作用的 所以我理解这段代码本质上返回了CPU周期的当前滴答声 那么
  • 如何在 Playgrounds 中设置 ViewController?

    在 Swift Playgrounds 中 如何设置视图控制器并使用它 我之前用 UIView 做过 但是当方向不同时 UI 会被剪切 所以我想尝试使用视图控制器 我有let view UIViewController 但在那之后我该如何设
  • Office-js Excel:获取新保存文件的文件名

    如何获取新保存文件的文件名 通常 我可以使用以下方式获取文件名 Office context document url 然而 当用户打开一个新工作簿时 它实际上没有文件名 而且奇怪的是 即使保存后 这行代码也不起作用 相反 他们必须保存它
  • 在 UIImage iOS 6.0 的所有四个面上添加阴影

    我正在尝试向 imageView 的所有四个侧面添加阴影 我看到 self shadowView layer shadowOffset CGSizeMake 10 20 在两侧添加阴影 如何在四个面上都添加阴影 刚刚设置shadowOffs
  • 从列表创建变量并全局访问

    我正在编写一个程序 从数据库中提取部门列表 我想避免对此进行硬编码 因为列表可能会发生变化 我想为每个部门创建一个变量 将问题填充到 GUI 中 我遇到的问题是我可以使用 vars 函数从数据库列表中创建变量 然后 我存储变量名称列表 以便
  • Java 相当于 C++ 加密 [重复]

    这个问题在这里已经有答案了 我有以下用于加密的 C 代码片段 EVP CIPHER CTX ctx const EVP CIPHER cipher EVP des ede3 cbc unsigned char iv EVP MAX IV L
  • 如何通过直接链接将 WebCal/iCalendar 添加到 Google 日历

    您可以通过直接链接将 Google 托管的日历添加到您的 Google 日历帐户 例如澳大利亚假期 https www google com calendar embed src en australian 23holiday 40grou
  • 在 makefile 中,目录名是假目标还是“真实”目标?

    根据我所读到的有关 makefile 的内容 虚假目标是指与实际文件名不对应的任何目标 我的直觉表明 作为目标的目录将被视为与文件相同 为什么这很重要 我的 makefile 中有一个目录作为目标 当我将其作为主要可执行文件的先决条件时 无
  • 如何以编程方式访问 NIB 中的 UI 元素而不“连接”它们?

    我正在考虑编写一些辅助函数 以便更轻松地对 iPhone NIB 中的 UI 元素进行简单的更改 主要是 我想通过 Interface Builder 中的名称访问 UILabel 或其他元素 这可能吗 有更聪明的方法吗 Example 假