UIToolbar渐变修复

时间:2013-07-24 09:01:17

标签: iphone ios objective-c uitoolbar

我在我的项目中使用UIToolbar来锁定此屏幕。一切都很好,除了UIToolbar上的渐变非常短。我的意思是它的高度不相等。我附上了屏幕截图。我希望UIToolbar与图B一样。

知道如何实现这一点。enter image description here

2 个答案:

答案 0 :(得分:1)

iOS6及更早版本中的UIToolbar总是超越前22px。如果您想要更大的光泽,则必须使用setBackgroundImage:forToolbarPosition:barMetrics:提供背景图像。

但还有两件事:

  1. iPhone上的UIToolbar希望成为您内容的底部;如果您使用它来为您提供适合顶部的背景,则应使用UINavigationBar。
  2. iOS7中工具栏,导航栏和锁定屏幕的外观已更改。您可能需要重新考虑您的方法,以便您的应用在不久的将来看起来不会很糟糕。

答案 1 :(得分:1)

您可以做的最好的事情是为UIToolBar设置外观:

UIImage *gradientImage = [[UIImage imageNamed:@"upperBar.png"]
                                resizableImageWithCapInsets:UIEdgeInsetsMake(-4, 300, 10, 300)];
UIToolbar *toolbar = [UIToolBar appearance];
[toolbar setBackgroundImage:gradientImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];

upperBar.png是您想要的渐变图像。