我最近在>中发现了iOS5 UINavigationBar没有调用其drawRect。我想弄清楚如何在类别中使用Core Graphics进行绘制。
我想要实现的最终目标是从我的应用程序中删除图像,并在运行时绘制所有内容。我也试图自动创建这个库,这样用户就不必考虑使用我的自定义类了。
有没有办法在运行时用自己的类替换一个类?喜欢:replaceClass([UINavigationBar class], [MyCustomBar class]);
提前致谢。
答案 0 :(得分:0)
有没有办法在运行时用自己的类替换一个类?
在Objective-C中,这被称为class posing。
类冒充是基于NSObject
poseClass
方法的使用,该方法现已弃用(在64位平台上,包括iPhone)。
已经研究了替代方法;你可以阅读一个here,但它们似乎不太合适。
答案 1 :(得分:0)
我找到了解决方案,而不是弄乱绘制rect,我只是制作了一些绘制到UIImage的方法,然后将图像设置为我自定义的元素的背景视图。它再次使我的自定义UI魔术。