无法将Outlet连接从Button添加到ViewController

时间:2019-04-16 15:26:45

标签: swift xcode

我试图在Xcode中创建从按钮到UIViewController的IBOutlet连接/引用,但这只是给我“选项”来添加Action连接。我试图利用viewDidLoad和baselineAdjustment在文本缩放以适合宽度时使按钮标签垂直居中,但运气不佳。

有人有建议或知道我在做什么错吗?

enter image description here

编辑:为清晰起见,添加了更多屏幕截图

如果选择主“场景视图”,则该类的类型为ViewController。如果我选择了所讨论的按钮是其中一部分的视图(在ContainerView中),则该视图属于UIViewController类,并且选项不提供ViewController的选择。

enter image description here enter image description here

3 个答案:

答案 0 :(得分:1)

请确认故事板中的ViewController是ViewController类(即,您的视图控制器),而不是UIViewController类。

答案 1 :(得分:1)

确保正确的类继承了UIViewController,请确保在执行此操作时选择UIViewController而不是View或安全区域。

enter image description here

让我知道它是否解决了

答案 2 :(得分:1)

我看到您在情节提要中有多个ViewController。理想情况下,情节提要中的每个View控制器都应该是UIViewController实现的一种,而在另一种情况下也是如此。因此,如果您在StoryBoard中说了3个UIViewControllers,那么您将需要创建3个.swift文件来实现UIViewController,如下所示:

 abcVC:UIViewController { .....
 efgVC:UIViewController { .....
 ViewController:UIViewController { ..... //this is the default one you get.

,然后将情节提要中每个ViewController的类设置为上述每个。

如果具有要退出的按钮的ViewController的类类型为abcVC,则只能在abcVc的{​​{1}}的实现中退出按钮。

希望有道理。要了解如何设置课程,请参考@Vadim F.的答案。

如果您碰巧赞成这个答案,也请考虑赞成@Vadim F.的答案。

这是在子类化UIViewController的同时创建新的abcVC.swift文件的方法:.swift