UIBarButtonItem如何知道UIToolBar使用哪个UIBarStyle?

时间:2012-04-26 03:41:40

标签: objective-c ios cocoa-touch uikit uitoolbar

在Xcode ui构建器中,当设置UIToolBar的UIBarStyle(例如BlackTranslucent)时,UIToolBarItem会将背景图像与其匹配。 UIToolBarItem如何知道它应该使用哪种样式?

我正在尝试在常规背景图块的顶部放置自定义彩色图像(以编程方式将给定图像合并到背景图像的顶部)。我希望代码足够通用,以便它能够处理所有UIBarStyles。这意味着我想知道UIToolBarItem何时决定使用哪个背景并拦截它,以便我可以动态组合按钮图像。

1 个答案:

答案 0 :(得分:1)

如果不能看到苹果公司对UIBarbuttonItem的实现,我认为他们,事实上,他们知道他们的UIToolbar的风格是什么。如果仔细观察,它们与工具栏具有相同的alpha,并且具有相同的叠加(指示子视图)。因此,作为子视图添加的此突出显示图层下方的任何图像都应符合UIToolbar的样式。如果您想使用多个图像(每个barStyle一个),您可以使用self.myToolbar.barStyle确定它并在-viewDidLoad时适当地计划。对于真实的图像绘制,子类UIToolbar并覆盖-drawRect:并使用[UIImage drawInRect:rect];