首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IB加载视图

从IB加载视图
EN

Stack Overflow用户
提问于 2010-04-01 05:14:50
回答 1查看 420关注 0票数 0

这应该是一个相当简单的修复,但我还没有从阅读Apple文档或其他问题中弄明白如何从编程方式创建界面到使用界面生成器的简单切换。

我的代码基于这个框架:http://www.pushplay.net/blog_detail.php?id=27

唯一的区别是,在ViewDidLoad中以编程方式创建每个视图(View01.m,View02.m),我希望从nib (同时仍然使用此框架)为每个视图(每个视图都有唯一的IB设计)导入。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2010-04-01 05:46:58

把IB看作是一个对象创建者,而不是一个代码生成器。这真的很有帮助。IB所做的实际上是在对象被拖到桌面/视图/XIB窗口时创建对象的实例。然后,它允许您开始创建从一个对象到另一个对象的各种连接(在鼠标上进行控制拖动)。然后,通过将其从捆绑包中解压来实例化整个XIB。这是高度自动化的,阅读UIViewController应该会让你有所进步。请看:

代码语言:javascript
复制
initWithNibName:bundle:

你基本上有两种类型的连接:

Outlet:这是你教一个对象关于另一个对象的存在的方式。例如,您可能有一个需要访问按钮的控制器对象。您可以在控制器中创建插座(在XCode文本编辑中的控制器.h文件/属性区域中,或通过添加插座在IB中),然后按住control单击并从插座拖动到按钮。

动作:这是在一个对象上触发事件以调用另一个对象上的方法的方式。操作将具有以下原型:

代码语言:javascript
复制
 - (IBAction) someMethod:(id) sender;

如果您的方法不需要指向引发事件的对象的链接,我认为":(id) sender“是可选的。

在IB中,您可以排列对象并设置各种属性,如大小、颜色、位置、目标/操作、用户交互、文件所有者...

这就把我带到了文件所有者那里。这是个大概念。往往是控制器加载了NIB (好的:我有一个自定义的窗口控制器,我已经用了15年了,但苹果公司有一个非常好的UIViewController,它做了各种各样的事情)。并在IB中充当代理。它实际上没有在IB中实例化,但是当您分配并请求它加载NIB (XIB文件是被编译过程转换为NIB文件的XML文件)时,它将被实例化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2556520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档