如何以编程方式访问 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 元素而不“连接”它们? 的相关文章

  • 重用cocos2d动作

    是否可以 并且是一个好的实践 为使用相同操作的多个 CCSprite 重用相同的操作 因为如果我有 10 个 CCSprite 所有这些都需要缩放 我创建了一个名为scaleAction 的缩放操作 是否可以对精灵重复使用相同的动作 当我尝
  • 计算MKPolyline路径的距离?

    我想获取 MKPolyline 路径的米数 以便我可以告诉用户完成路径还剩多少米 我一直在寻找一些东西来做这件事 但我什么也没得到 Thanks 尽管听起来很乏味 但除非您想自己进行数学计算 否则您可能必须迭代该行的思想points 将每个
  • iPhone - SSL 连接

    学习通过 iPhone 连接 ssl Web 服务的最佳起点是什么 到目前为止 我通过 SOAP 等通过 http 进行了一些基本连接 但我没有使用 https 的经验 任何好的资源 教程 起始参考 use nsurl class 都值得赞
  • 如果按下子视图的按钮如何取消 UIGestureRecognizer

    我正在努力从手势识别器中获得我想要的行为 特别是在其他手势已触发时取消某些手势 我有一个滚动视图设置为分页和每个页面中的多个子视图 我添加了一个触摸手势识别器 如果用户点击页面的右侧或左侧 则可以滚动到下一页或上一页 Add a gestu
  • 推送通知发送成功,但设备收不到(偶尔)

    从昨天开始 我一直遇到一些设备无法收到推送通知的问题 证书 设备令牌似乎是正确的 直到昨天 该设备才能成功接收推送通知 在服务器端 没有错误或连接拒绝 并且推送通知似乎每次都成功发送 但仍然有很多情况下设备无法正确接收推送 一些周边信息 我
  • 如何使我的网络应用程序兼容 iPhone 5?

    我有一个使用 iOS safari 优化为 Web 应用程序的网站 因此添加到主屏幕会在单独的 Web 视图中打开该应用程序 然而 它总是以 3 5 信箱模式打开 而不是拉伸以填充屏幕 我知道使用本机应用程序 您只需添加 iPhone 5
  • iPhone:AVAudioPlayer 不支持的文件类型

    我的应用程序从我们的服务器下载 mp3 并将其播放给用户 该文件为 64 kbps 如果我理解正确的话 这完全在 iPhone 的可接受范围内 我在几十个网站上查找了如何执行此操作 他们都建议我这样做 NSData data NSData
  • 无法启动进程启动失败:等待应用程序启动超时

    我正在尝试在设备上启动我的应用程序 它在模拟器上成功启动 项目清单 我用的是7 1 SDK Xcode 5 该设备是 7 1 iPhone 4S 我努力了 Clean 清理构建文件夹 删除应用程序 断开 重新连接设备 启动装置 重新启动 X
  • VoiceOver 的 UISlider 可访问性特征?

    使 UISlider 在启用 VoiceOver 的情况下可用所需的正确 UIAccessibility 特征和处理程序是什么 是否有关于用户如何使用启用 VoiceOver 的 UISlider 的描述 以下是我最终添加到 UISlide
  • UINavigationBar 未在横向“返回”时更新

    我正在开发 UINavigationController 驱动的 iPad 应用程序 在模拟器中测试 导航控制器堆栈上只有两个 UIViewController 为了演示 我们将它们称为 SetupController 和 ContentC
  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • 在ios中通过社交框架登录Facebook

    我是 iOS 开发新手 我必须将 Facebook 登录集成到我的 iOS 应用程序中 当用户登录时 它会获取所有信息并将其导航到主屏幕 我已经通过 Facebook 最新的 SDK 完成了此操作 但我希望通过社交框架完成此操作 我浏览了很
  • 连续调用startRecordingToOutputFileURL:

    苹果文档 https web archive org web 20140814091047 http developer apple com library ios DOCUMENTATION AVFoundation Reference
  • Windows 下 iOS 开发的替代方案 [重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 Windows 开发机为 iPhone 进行开发 https stackoverflow com questions 22358 how can i develop for iphone u
  • iOS 中的 NSCachesDirectory 和 NSDownloadsDirectory 有什么区别?

    我想将下载的杂志保存到我的 iOS 应用程序中的一个目录中 它似乎NSCachesDirectory and NSDownloadsDirectory是合适的 我不知道它们之间有什么区别 以及哪一种适合下载杂志 任何建议表示赞赏 内存不足时
  • 如何“旋转”图层/视图(例如,就像在 enigmo 中一样)

    我知道如何根据触摸移动图层 但我也希望能够旋转图像 是否有任何示例代码显示如何执行此操作 或者有人可以给我一些建议吗 Thanks 最简单的方法是使用图层的变换属性 float angle M PI rotate 180 or 1 radi
  • iOS:在代码中访问 app-info.plist 变量

    我正在开发通用应用程序 并且希望访问代码中 app info plist 文件中存储的值 原因 我使用以下方法从故事板动态实例化 UIViewController UIStoryboard storyboard UIStoryboard s
  • 为什么 UIWebView 实例不调用scrollViewDidScroll?

    iOS 文档说 UIWeb视图 http developer apple com library ios documentation uikit reference UIWebView Class Reference Reference h
  • UITableView 如何一次显示两个不同的数组?

    下面的代码有效 但不符合我的意愿 我希望当我单击 UIbutton 时 它会自动更新 UITableview 中的新值而不是旧值 下面的代码仅在我按下 UIbuttons 时有效 之后当我滚动 UITableview 时它会更新具有新值的
  • stringFromDate 始终为 NIL

    我知道这是一个重复的问题 但是在 stackoverflow 和 google 上搜索了许多类似的问题后 没有一个解决方案对我有用 我正在尝试将从数据库收到的日期转换为字符串格式以在 iPhone 应用程序中显示 我正在按以下方式将日期转换

随机推荐

  • 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 假