我正在考虑编写一些辅助函数,以便更轻松地对 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(使用前将#替换为@)