我正在努力实现我的后退按钮:
但无论我在哪里品尝photoshop中的绿色阴影,它都永远不会出现。例如:
关于如何实现完全相同的外观的任何建议?
答案 0 :(得分:2)
色调颜色恰好是一种色调。 iOS使用该颜色作为基础,以普通导航栏的方式创建漂亮的按钮。
如果您想要比着色允许更精确地控制按钮的外观,最好的办法是创建一组图像并使用-setBackButtonBackgroundImage:forState:barMetrics:
来使用它们。如果您希望在应用中查找所有条形按钮项,请在+[UIBarButtonItem appearance]
上使用该方法,而不是使用特定的条形按钮项。
答案 1 :(得分:1)
为了生成BackBarButtonItem
的渐变,iOS会执行以下操作:
以下是用于iPhone的视网膜显示器覆盖(这些是使用UIKit-Artwork-Extractor获得的):
默认后退按钮叠加
按下按钮Overalay
不幸的是,没有办法告诉iOS / UIBarButtonItem不要在后退按钮上呈现这些叠加(因此,这使得默认导航栏和按钮在所有应用中都具有非常一致的外观)。
如果您不想应用此叠加层(它会使两个状态下的按钮变暗),您必须为default
和pressed
状态创建自己的后退按钮图像, portrait
和landscape
方向,retina
和non-retina
显示(总共8张图片)。
在Brent Royal-Gordon中提及answer时,您可以使用appearance
代理UIBarButtonItem
来应用这些图片,以便在整个应用中使用它们。例如,您为纵向方向设置了这样的默认背景图像状态:
UIImage *defaultBackImage = [UIImage imageNamed:@"My-Default-Back-Button"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:defaultBackImage forState: UIControlStateNormal barMetrics:UIBarMetricsDefault];
答案 2 :(得分:0)
按钮似乎在按钮上添加了另一个半透明灰色图层。我现在无法检查,但我会寻找设置来禁用半透明层效果或尝试不同的按钮样式/状态。