是否可以在自定义视图中创建@IBOutlet?

u84*_*six 4 xcode iboutlet ios swift

我在我的一个视图控制器中创建了一个关于故事板的视图,并意识到我需要重用它.然后我为UIView创建了一个子类来合并代码.我在故事板中选择了视图,并将类更改为我的自定义视图类.现在我想为视图中的几个组件创建@IBOutlets(在本例中为2个文本字段).当我尝试从故事板拖放到自定义视图文件时,它允许我创建的唯一内容是@IBAction和@IBOutlet灰显.

我尝试在代码中手动创建@IBOutlet,然后从圆圈拖动到故事板上的组件.一切似乎都有效(即我看到小黑色弹出窗口中的连接以及变量旁边的圆圈填充.但是当我运行应用程序时,2个字段为零.

我有什么理由可以创造行动而不是出口?(我是iOS开发人员的新手).

sid*_*ick 9

不需要XIB.

  1. 在自定义UIView类中手动编写IBOutlet.

    @IBOutlet weak var container: UIView!

  2. 打开故事板并在左侧的"文档大纲"面板中选择自定义视图.

  3. 打开右侧的Connections Inspector.您现在可以从Outlet拖动到Document Outline面板中的自定义视图,以连接它们.

连接自定义视图的IBOutlet以在Interface Builder中查看


Rah*_*pta 5

如果要重用UIView,则最好创建视图的xib和UIView的自定义类。然后将xib类中的文件所有者更改为您的自定义类。然后,您可以将视图内组件的IBOutlet拖放到自定义类。在情节提要中,您可以使用自定义视图并将视图类的名称更改为自定义视图。现在,将IBOutlet从故事板拖放到UIView。您可以观看有关如何做的教程视频,我已为您制作了视频。 https://youtu.be/IrgH522lbfA