如果我通过Interface Builder在视图中设置了UIScrollView,如何在ViewController实现中获取对它的引用?我想以编程方式向滚动视图添加标签。如何在视图中获取对控件的引用?
例如,在C#中,如果您在UI /窗体中声明了文本框,则可以通过简单地使用为该文本框声明的ID来访问它。这在目标c中似乎并不简单。
感谢 凯文
如果我通过Interface Builder在视图中设置了UIScrollView,如何在ViewController实现中获取对它的引用?我想以编程方式向滚动视图添加标签。如何在视图中获取对控件的引用?
例如,在C#中,如果您在UI /窗体中声明了文本框,则可以通过简单地使用为该文本框声明的ID来访问它。这在目标c中似乎并不简单。
感谢 凯文
假设我理解你正确,你是从实例包含子视图,包括你想要的UIScrollView的一个的.xib视图控制器,有两种方式 - 首先,你可以将子视图数组中找到它由视图控制器拥有。其次,您可以在头文件中添加一个IBOutlet引用,然后在界面构建器中使用连接检查器进行连接。然后你可以参考代码中的对象,更改框架,添加标签等。
您需要将您的ViewController连接到您的Nib文件。这非常简单。这是在iPhone/iPad上使用Interface Builder的基本工作流程:
创建具有以下格式的视图控制器属性:
@属性(非原子,保留)IBOutlet中的UIScrollView滚动视图*;
IBOutlet关键字是一个评估为无效的宏。所以它实际上并没有对你的代码做任何事情,只是让Interface Builder知道'scrollView'属性可以被绑定。
这种东西是非常基本的Xcode的东西。如果你阅读任何教程,它会涵盖这一点。祝你好运,并享受!
编辑: 我应该补充说,如果您使用New File对话框中的默认“New UIViewController Subclass”,它将为您完成第一步。你将有一个nib文件和一个已经彼此了解的View Controller。
scrollView
指向正确的对象(假设Nib中的所有内容均已正确连线,这很容易犯错)我确实使用了File对话框中的New UIViewController子类。我也已经在头文件中添加了属性,并在实现中使用了Synthesize关键字。 这是我的ViewController头像。那么它是否像通过名称调用/操纵控件一样简单(在本例中为Scroller)? #进口
假设我已经正确连线了,我怎样才能在ViewDidLoad事件的滚动视图中添加一个视图?它是否简单到“[scrollView addSubview:label];” – Kevin 2010-05-18 01:15:43
我编辑了你的问题的答案。 – kubi 2010-05-18 02:19:05
是的,这听起来像你理解正确。 所以有一种ViewController方法返回视图中所有控件的数组? – Kevin 2010-05-18 00:49:38
每个UIViewController都有一个视图属性,它是一个UIView。每个UIView都有一个属性子视图,它是UIViews的一个数组。然而,使Interface Builder中的链接比通过数组更容易,并且随着视图数量和子视图数量的增加,特别需要标识所需的对象。持续引用您想访问的内容会更方便。 – 2010-05-18 00:57:18
查看http://itunes.stanford.edu/ - 点击链接到斯坦福iTunes U部分,然后找到iPhone课程 - 或者在iTunes商店搜索栏中搜索“CS193P”。看看讲座1和讲座2,当看到别人这样做时,如何让界面生成器改变更容易。 – 2010-05-18 01:11:16