我想创建一个包含以下内容的模板视图控制器:
底线是我需要一个自定义视图控制器类,它有一个导航栏,一个页眉,一个页脚和一个背景。然后,我将在界面构建器中将所有视图类替换为此类。
答案 0 :(得分:1)
嗯,是的,你会创建一个自定义视图控制器作为UIViewController的子类。您可能希望对UITableViewController执行相同的操作。让我们假设你将它们命名为myViewController和myTableViewController。
然后,您的界面构建器视图将分别引用此类或其子类。
<强> BACKGROUNDCOLOR:强>
但是,视图控制器没有自己的背景颜色。它们的视图具有背景颜色,视图控制器可以将视图的背景颜色设置为一些常量值。确保视图层次结构中背景颜色应与常规背景相同的所有视图都没有背景颜色。 (或分别为清晰的颜色:[UIColor clearColor]
)
然后,您可以在视图控制器中设置颜色,如下所示:
self.view.backgroundColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5];
请记住,有更智能的编码方法,而不是在代码中的许多地方硬编码值。
<强>导航栏:强> 导航栏是导航控制器的属性。通常在应用程序中只有一个导航控制器(除非它是基于标签栏的应用程序,然后可能会有更多)。因此,不需要为了共同的自定义导航栏而对所有视图控制器进行子类化。
页眉和页脚: 坦率地说,我不确定你的意思。您可以参考表视图页眉和页脚。如果是这样,那么,已经提到过,应用程序范围的超类“myTableViewController”可能是你的选择,它提供了应用程序的通用页眉和页脚。
答案 1 :(得分:0)
navigationBar是UINavigationController
的一部分,您的viewControllers将被添加到其中,因此这将自动成为它们的标准。
至于创建自定义视图控制器,您实际上是在询问“我如何进行继承”,这超出了单个答案的范围。如果你进行谷歌搜索,那里有很多很好的教程。