如何在视图中获取对控件的引用?

时间:2010-05-18 00:33:20

标签: iphone

如果我通过Interface Builder在视图中设置了UIScrollView,我如何在ViewController实现中获得对它的引用?我想以编程方式向滚动视图添加标签。

例如,在C#中,如果您在UI /表单中声明了文本框,则只需使用为该文本框声明的ID即可访问它。在目标c中似乎不那么简单。

由于 凯文

2 个答案:

答案 0 :(得分:1)

假设我理解你并且你正在从包含你想要的UIScrollView的子视图的.xib实例化一个视图控制器,有两种方法 - 首先,你可以在视图控制器拥有的子视图数组中找到它。其次,您可以在头文件中添加IBOutlet引用,然后在界面构建器中使用连接检查器进行连接。然后,您可以参考代码中的对象,更改框架,添加标签等。

答案 1 :(得分:1)

您需要将ViewController连接到Nib文件。这非常简单。这是在iPhone / iPad上使用Interface Builder的基本工作流程:

  • 将“文件所有者”的类设置为视图控制器的类。您可以通过在笔尖窗口中选择“文件所有者”对象,按下Command-4,然后通过下拉列表设置类来完成此操作。
  • 使用以下格式在View Controller中创建属性:

    @property(非原子,保留)IBOutlet UIScrollView * scrollView;

IBOutlet关键字是一个评估为空的宏。所以它实际上并没有对你的代码做任何事情,只是让Interface Builder知道'scrollView'属性可以被绑定。

  • 从您要绑定到ViewController的对象进行控制拖动。在弹出窗口中,您可以选择要绑定到滚动视图对象的属性。

这种东西是非常基本的Xcode东西。如果您阅读任何教程,它将涵盖这一点。祝你好运,享受!

编辑: 我应该补充一点,如果您使用New File对话框中的默认“New UIViewController Subclass”,它将为您完成第一步。您将拥有一个已经相互了解的nib文件和一个View Controller。


  1. 是的,您编写的代码就是标题中所需的全部内容。只需确保将Scroll View对象连接到Interface Builder中的属性。
  2. 烨!在完成Nib文件中指定的所有连接之后添加'viewDidLoad',因此您可以确信scrollView指向正确的对象(假设Nib中的所有内容都连接正确,这是一个容易犯的错误。使)