在 Xcode ui 构建器中,当设置 UIToolBar 的 UIBarStyle(例如 BlackTranslucent)时,UIToolBarItem 会与其匹配背景图像。 UIToolBarItem 如何知道它应该使用哪种样式?
我正在尝试将自定义彩色图像放在常规背景图 block 的顶部(以编程方式将给定图像合并到背景图像的顶部)。我希望代码具有足够的通用性,以便能够处理所有 UIBarStyle。这意味着我想知道 UIToolBarItem 何时决定使用哪个背景并拦截它,以便我可以即时合成按钮图像。
最佳答案
由于无法看到苹果对 UIBarbuttonItem 的实现,我认为他们实际上不知道其 UIToolbar 的样式是什么。如果仔细观察,它们具有与工具栏相同的 alpha 和相同的覆盖层(表示 subview )。因此,在此突出显示层下方添加为 subview 的任何图像都应符合 UIToolbar 的样式。如果您想使用多个图像(每个 barStyle 一个),您可以使用 self.myToolbar.barStyle 确定它并在 -viewDidLoad 时间进行适当的计划。至于真正的图像绘制,子类化 UIToolbar 并重写 -drawRect:
并使用 [UIImage drawInRect:rect];
关于objective-c - UIBarButtonItem 如何知道 UIToolBar 使用哪种 UIBarStyle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326909/