将UINavigationBar子类化为标准可视格式

时间:2016-07-11 23:58:50

标签: ios objective-c uinavigationcontroller uinavigationbar uinavigationitem

我们当前的设计规范目前涉及一个UINavigationBar,其标题间距为topItem / barItem,标准字体也为标题。

这样做的最佳做法是什么?我正在考虑做以下事情:

  1. 使用自动布局约束设置的topItem和barItem对象的大小尺寸创建UINavigationBar,所有这些都以编程方式完成。

  2. 不要使用故事板,只需在代码中定义所有约束。

  3. 在实际视图故事板中,使用UINavigationBar的所有视图都使用此子类。

  4. 这会有用吗?这是最好的做法吗?

1 个答案:

答案 0 :(得分:0)

我现在正在使用app并以这种方式解决了同样的问题:

App有4种类型的UINavigationBar for app。我创建了继承自UINavigationBar的BaseNavBar。在.xib中,我创建了4个UINavigationBar,并将它的元素(titleLabel,titleLabel2)连接到BaseNavBar.h,并将按钮(从2到4)的动作连接到BaseNavBar.m。我在xib中创建的所有设计。

我创建了继承自UIViewController的BaseViewContoller。在viewDidLoad中,我初始化了所需类型的BaseNavBar,并将它的元素分配给self.navigationItem。

在大多数情况下,BaseViewContoller决定它必须使用哪种类型的BaseNavBar,但在ViewController(继承自BaseViewContoller)中,我可以更改此类型。

在此之后,我创建了新的ViewControllers,并且不用担心UINavigationBar。

如果我需要在所有UINavigationBar中更改某些内容 - 我会在一个地方进行更改。