【问题标题】:Appearance proxy - setShadowImage alternative for iOS 5?外观代理 - iOS 5 的 setShadowImage 替代方案?
【发布时间】:2012-09-23 08:00:48
【问题描述】:

您好,我正在使用此代码设置导航栏的阴影图像:

if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)]) {

    [[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"nav-bar-shadow"]];

    [[UIToolbar appearance] setShadowImage:[UIImage imageNamed:@"tool-bar-shadow"]  forToolbarPosition:UIToolbarPositionAny];
}

但是,这似乎只是 iOS 6(尽管我不能肯定地说 - 我在任何地方都找不到有关此的文档)。它不适用于 iOS 5。

是否有某种替代方法 - 在导航栏下全局设置图像? 我想到了自定义 UIView,但是如何在全局范围内做到这一点?

【问题讨论】:

    标签: iphone ios xcode cocoa-touch ipad


    【解决方案1】:

    你可以:

    1. 将包含阴影图像的子视图添加到您的viewController.view
    2. 将包含阴影图像的子视图添加到您的[[UIApplication sharedApplication] keyWindow],这将在您的窗口上全局添加图像。但是,它可能会有点难看,例如显示模态视图控制器时。
    3. 你可以继承UINavigationBar,用子视图做一些魔术,然后通过[[UINavigationController alloc] initWithNavigationBarClass:[YourNavBarSubclass class] toolbarClass:[UIToolbar class]]初始化你的navigationController

    【讨论】:

      【解决方案2】:

      shadowImage 仅适用于 ios6:

      @property(nonatomic,retain) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;
      

      【讨论】:

        猜你喜欢
        • 2012-04-06
        • 1970-01-01
        • 2019-12-10
        • 2016-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多