Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何获取视图中控件的引用?_Iphone - Fatal编程技术网

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

Iphone 如何获取视图中控件的引用?,iphone,Iphone,如果通过Interface Builder在视图中设置了UIScrollView,如何在ViewController实现中获取对它的引用?我想以编程方式向滚动视图添加标签 例如,在C中,如果您在UI/表单中声明了一个textbox,那么您只需使用为该textbox声明的ID即可访问它。在目标c中似乎没有这么简单 谢谢 Kevin假设我理解正确,并且您正在从包含所需UIScrollView的子视图的.xib中实例化视图控制器,有两种方法-首先,您可以在视图控制器拥有的子视图数组中找到它。其次,您可

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

例如,在C中,如果您在UI/表单中声明了一个textbox,那么您只需使用为该textbox声明的ID即可访问它。在目标c中似乎没有这么简单

谢谢
Kevin

假设我理解正确,并且您正在从包含所需UIScrollView的子视图的.xib中实例化视图控制器,有两种方法-首先,您可以在视图控制器拥有的子视图数组中找到它。其次,您可以在头文件中添加对它的IBOutlet引用,然后在interface builder中使用connections inspector建立连接。然后,您可以在代码中引用对象、更改帧、添加标签等。

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

将“文件所有者”的类设置为视图控制器的类。您可以通过在nib窗口中选择“文件的所有者”对象、按Command-4并通过下拉菜单设置类来完成此操作。 使用以下格式在视图控制器中创建属性:

@属性非原子,保留IBUIScrollView*scrollView

IBOutlet关键字是一个计算结果为零的宏。因此,它实际上对代码没有任何作用,它只是让Interface Builder知道可以绑定“scrollView”属性

控件从要绑定到ViewController的对象拖动。在弹出窗口中,您可以选择要绑定到滚动视图对象的属性。 这类东西是非常基本的Xcode东西。如果你读过任何教程,都会涉及到这一点。祝你好运,祝你愉快

编辑: 我应该补充一点,如果您使用“新建文件”对话框中的默认新UIViewController子类,它将为您完成第一步。您将拥有一个nib文件和一个已经相互了解的视图控制器

是的,您编写的代码就是您头中所需的全部代码。只需确保将滚动视图对象连接到Interface Builder中的属性即可。 是的viewDidLoad'是在Nib文件中指定的所有连接完成后添加的,因此您可以确信scrollView指向正确的对象,假设Nib中的所有内容都正确连接,这很容易出错
是的,听起来你理解对了。因此,ViewController有一个方法返回视图中所有控件的数组?每个UIViewController都有一个视图属性,即UIView。每个UIView都有一个属性子视图,它是UIView的数组。但是,在Interface Builder中创建链接要比遍历数组并识别所需对象更容易,尤其是随着视图和子视图数量的增加。对你想要访问的东西有一个持久的引用会更方便。看一看——点击斯坦福iTunes U部分的链接,然后找到iPhone类——或者在iTunes商店搜索栏中搜索CS193P。看一看第1课和第2课,当你可以看到其他人在做界面构建器的更改时,了解如何更改界面构建器要容易得多。谢谢。我不知道iTunes的课程。我将观察并看看我能学到什么。我确实使用了文件对话框中新的UIViewController子类。我还已经在标题中添加了属性,并在实现中使用了synthesis关键字。以下是我的ViewController标题的外观。在本例中,它是否像调用/操作按名称滚动控件那样简单?导入@interface MyViewController:UIViewController{UIScrollView*scroller;}@property非原子,保留IBOutlet UIScrollView*scroller@End假设已正确连接,如何在ViewDidLoad事件中向滚动视图添加视图?它是否像[scrollView addSubview:label]那样简单;顺便说一句,我真的建议阅读一些Interface Builder教程。一旦你掌握了窍门,这件事就很容易了,但是每个人在学习的时候都会把它搞砸。