将UIViewController的UI扩展到子UIViewControllers

时间:2015-09-15 05:28:07

标签: ios objective-c iphone

我有一个从BaseUIViewController扩展的基本视图控制器UIViewController。我在ViewController的底部有两个UIButtons。基本上我想通过我的应用程序在同一个地方的每个UIViewController上使用这两个按钮。当我扩展BaseUIViewController时,我在子视图控制器中看不到它们。 我也给按钮提供了IBOutlets! 我是编程新手。请帮忙。这种继承方式不是很有效吗?

3 个答案:

答案 0 :(得分:1)

您可以创建UIViewControllerContainment。这篇Stackoverflow's帖子详细解释了如何创建并使其发挥作用。 Similalry,也看看这篇Stackoverflow's帖子。这是使用childViewControllers完成的。

答案 1 :(得分:0)

确保将这些按钮属性放在@interface而不是@implement中,只有@interface中的属性才能在子类中看到。这是一个例子:

@interface BaseUIViewController
    @property (nonatomic, weak) IBOutlet UIButton *button1;
    @property (nonatomic, weak) IBOutlet UIButton *button2;
@end

答案 2 :(得分:0)

MUNAHIL上面回答的两种方式都是我认为最好的方式。如果您想以更基本的方式实现这一目标,您可以执行以下操作。

  • UIButton中添加两个BaseUIViewController(以编程方式在viewDidLoad或storyboard中)。如果您需要,您可以先添加UIToolBar,然后再添加按钮。
  • 使其他视图控制器成为BaseUIViewController的子类。

    @interface SomeViewController: BaseUIViewController
    
  • 现在,默认情况下,所有视图控制器都有两个按钮。