StoryBoard处理继承的视图控制器

Ted*_*eng 19 objective-c storyboard

我是故事板的新手.我曾经使用代码创建我的视图.我有个问题.

我创建了一个视图控制器

@interface FunctionViewController : UIViewController
Run Code Online (Sandbox Code Playgroud)

我已经使用我的代码添加了

  1. 全屏按钮(alpha:0.5)
  2. 中间的弹出式视图(不是全屏)

然后我创建了另一个Viewcontroller

@interface PlayFunctionViewController : FunctionViewController
Run Code Online (Sandbox Code Playgroud)

并在类似弹出窗口的视图上添加一些视图

我想通过使用故事板重新创建这些东西.

如何使用界面构建器和故事板构建这些,以便我不需要在FunctionViewController的每个子类中布局全屏按钮和类似弹出的视图?

Gre*_*reg 9

您不能在故事板中的子类中继承超类的布局,即,如果您可视地在故事板中的视图控制器中布置元素并将它们连接到代码,该视图控制器的子类,甚至是其他实例class,必须单独列出,不会自动填充或更新.

换句话说,在故事板中,您必须手动布局并连接添加到故事板的每个单独实例和子类中的所有界面元素.这为您提供了灵活性,您可以在整个应用程序中重用同一个类的多个实例,并以不同方式进行布局,但它不能让您继承布局.

如果要在子类中继承布局,请在viewDidLoad超类中以编程方式进行布局,然后所有子类都将具有这些界面元素,即使您在故事板中进行设计和布局(它们也不会在故事板,但它们将在您构建和运行您的应用程序时出现).


基本上,如果您希望在类及其所有子类中具有相同的接口元素,请以编程方式创建它们,并且它们将存在于所有实例和子类实例中,即使您在故事板中创建和设计实例本身也是如此.

您可以混合使用代码和故事板,这样您就可以在故事板中创建一些元素,但需要在代码中的所有实例和子类中创建其他元素.