从Android的背景来看,每个UI元素(即“小部件”)都有一个ID。例如,userNameInputText
可以是映射到特定文本字段的ID。那么在iOS中的类比是什么呢?
在Xcode中,我在我的故事板中定义视图,然后将它们ctrl
+拖动到我的ViewController类中。这使我能够设置侦听器等。然而,似乎有些东西被遮蔽了。侦听器如何引用回特定的视图?在Android中,这很明显,因为您必须显式提供元素的ID。
@IBOutlet var myUIElement: UIXXXX!
myUIElement
来引用视图。以下是如何添加输出连接的示例:
UIImageView
到视图控制器类中,出现以下内容:看到那里的“输出”一词了吗?这意味着您正在添加一个输出连接。让我们称之为myImage
输出。因此,在代码中,它将如下所示:
@IBOutlet weak var myImage: UIImageView!
现在,您在故事板中拥有对图像视图的引用!就像Java一样,但更短。让我用Java写一下,这样您就能更清楚地了解:
private ImageView myImage;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setLayout(R.layout.someLayout);
myImage = (ImageView)findViewById(R.id.someId);
}
如果你想获取一个原型表视图单元格,还有另一种方法:
my cell
.In the table view controller, call this method:
let cell = tableView.dequeueReusableCellWithIdentifier("my cell")
tableView.dequeueReusableCell(withIdentifier: "my cell ")
。 - phihag<view contentMode="scaleToFill" id="iN0-l3-epB">
因此,我认为xCode使用生成的标识符将这些视图连接到您的IBOutlets。
@IBOutlet
属性并将其链接到适当的UI元素要简单得多且更有效率。 - Paulw11userNameInputText
引用的是哪个视图?比如说,如果我正在使用一个新的代码库。 - another_user10293412