从Android背景中,每个UI元素(即“小部件”)都有一个id。例如,userNameInputText
可以是映射到特定文本字段的ID。什么是iOS的模拟?
在Xcode中,我在故事板中定义视图,然后ctrl
+将它们拖到我的ViewController类中。这允许我设置监听器等。但是,似乎某些东西被遮挡了。监听器如何引用特定视图?在android中这很明显,因为你必须明确地提供元素的id。
答案 0 :(得分:5)
我在故事板中定义视图,然后按住Ctrl键并将它们拖到我的ViewController类中。这允许我设置监听器等
Control-drag不仅允许您添加侦听器。它还允许您添加 outlet 连接。出口连接在代码中如下所示:
@IBOutlet var myUIElement: UIXXXX!
您可以使用标识符myUIElement
来引用该视图。以下是如何添加插座连接的示例:
UIImageView
说成View Controller类,然后显示:在那里看到“Outlet”这个词?这意味着您要添加插座连接。我们打电话给插座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
。在表视图控制器中,调用此方法:
let cell = tableView.dequeueReusableCellWithIdentifier("my cell")
现在你可以拿到牢房了!
答案 1 :(得分:1)
如果您查看xib文件的内容,您会发现类似的内容
<view contentMode="scaleToFill" id="iN0-l3-epB">
所以我认为xCode使用生成的标识符将这些视图连接到您的IBOutlets。