我可以将UINavigationBar的背景绘制为自定义视图的背景吗?

时间:2011-08-31 12:51:04

标签: ios cocoa-touch uinavigationbar custom-view

我有一个自定义视图,我希望看起来像UINavigationBar。有没有办法让我以与UINavigationBar相同的方式绘制背景?

我不想绘制图像或渐变填充,看起来像 UINavigationBar - 我想使用UINavigationBar绘制它的相同库代码(如果它是公共的)背景

2 个答案:

答案 0 :(得分:0)

drawRect:的{​​{1}}方法是私有的 - 您无法使用它来绘制自己视图的背景。

最简单的方法是进行屏幕截图,将图像修剪为导航栏大小,添加到项目中,然后在视图的UINavigationBar方法中绘制图像,或者添加{{ 1}}作为您视图的子视图。

或者,是否可以使用drawRect:代替您的自定义视图?

答案 1 :(得分:-1)

您可以设置视图背景图像,只需使用已填充导航栏外观的图像。

至于使用navBar用来创建自己的东西,除非你只是在你的应用程序中构建一个navBar,否则你可能会运气不好。否则,您最终必须在应用程序顶部构建自定义视图,手动绘制所有内容。那时,你最好不要实现navBar。