【问题标题】:setBackButtonBackgroundImage Weard Behaviour on iOS5.1iOS5.1上的setBack按钮背景图像奇怪的行为
【发布时间】:2012-12-04 19:40:29
【问题描述】:

我在 ios5.1 和 ios6.0 上有两种不同的行为

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:offBackButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

在 iOS 6.0 上

在 iOS 5.1 上???

是不是我做得不好?

【问题讨论】:

  • 另一方面,我在 5.0 中具有在底部剪切图像的效果。更改 Insets 并不会让它再次变大(

标签: ios6 uibarbuttonitem back-button ios5.1 uiappearance


【解决方案1】:

您需要指定一个可伸缩的UIImageUIEdgeInsets,如下所示:

UIImage *normalStateImage = [[UIImage imageNamed:@"image"] resizableImageWithCapInsets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];
UIImage *pressedStateImage = [[UIImage imageNamed:@"image-pressed"] resizableImageWithCapInsets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:normalStateImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:pressedStateImage forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];

iOS 6.x 足够聪明,可以确定图像大小并根据它进行拉伸。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多