UINavigationBar drawRect Alternative(又名,需要CoreGraphics调用的类别)

时间:2013-01-28 16:26:25

标签: objective-c uikit core-graphics drawrect

我最近在>中发现了iOS5 UINavigationBar没有调用其drawRect。我想弄清楚如何在类别中使用Core Graphics进行绘制。

我想要实现的最终目标是从我的应用程序中删除图像,并在运行时绘制所有内容。我也试图自动创建这个库,这样用户就不必考虑使用我的自定义类了。

有没有办法在运行时用自己的类替换一个类?喜欢:replaceClass([UINavigationBar class], [MyCustomBar class]);

提前致谢。

2 个答案:

答案 0 :(得分:0)

  

有没有办法在运行时用自己的类替换一个类?

在Objective-C中,这被称为class posing

类冒充是基于NSObject poseClass方法的使用,该方法现已弃用(在64位平台上,包括iPhone)。

已经研究了替代方法;你可以阅读一个here,但它们似乎不太合适。

答案 1 :(得分:0)

我找到了解决方案,而不是弄乱绘制rect,我只是制作了一些绘制到UIImage的方法,然后将图像设置为我自定义的元素的背景视图。它再次使我的自定义UI魔术。