【问题标题】:How to add an icon into iphone/ipod status bar?如何在 iphone/ipod 状态栏中添加图标?
【发布时间】:2011-09-10 17:12:52
【问题描述】:

Apple 不允许开发者在状态栏中添加图标吗?

我遵循了书中的代码。代码很简单:

@interface UIApplication (extended) 
- (void) addStatusBarImageNamed:(NSString *)aName; 
- (void) removeStatusBarImageNamed:(NSString *)aName; 

@end 

- (void)performAction{
    if (xxx) {
        [[UIApplication sharedApplication]addStatusBarImageNamed:@"Default_EN.png"];
    }
    else {
        [[UIApplication sharedApplication]addStatusBarImageNamed:@"Default_EC.png"];

    }
}

但它给出了以下反馈:

-addStatusBarImageNamed: 已弃用。什么都不做。

我能做什么?

【问题讨论】:

  • 新的 sdk 版本对此有何更新?

标签: iphone cocoa-touch ios icons statusbar


【解决方案1】:

据我所知,SDK 中不允许这样做,但他们可能有一些私有 API 来执行此操作,但到目前为止他们还没有公开这些,我认为您无法在状态栏中添加图标。 如果有人知道请纠正我。

【讨论】:

  • 正确,这是私有 API。甚至不推荐使用的 API,这将直接导致 App Store 被拒绝。
  • 感谢@Nick Weaver @WebberLai:还请阅读@Nick Weaver 提供的SO 链接。
【解决方案2】:

Classes/YourViewController.m 中,addStatusBarImageNamed:removeOnExit: 方法需要被覆盖。

- (void) addStatusBarImageNamed:(NSString*)image removeOnExit: (BOOL) remove {
if(_statusbarimage!=nil && _responds) {
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"statusBarEnabled"] integerValue] == 1)
[self removeStatusBarImageNamed:_statusbarimage];
statusbarimage=image;
}
if (_responds) {
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"statusBarEnabled"] integerValue] == 1)
[super addStatusBarImageNamed:image removeOnExit: remove];
}
}  

看看它是否工作正常。

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    相关资源
    最近更新 更多