2011-06-08 58 views
2

Apple不允许开发人员将图标添加到状态栏吗?如何将图标添加到iphone/ipod状态栏?

我跟着一本书的代码。代码很简单:

@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:已被弃用。什么也不做。

我能做些什么?

+0

对此有新的sdk版本的任何更新? – coder284 2015-09-07 12:35:20

回答

0

类/ 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]; 
} 
} 

看看它是否正常工作。

2

据我所知,这是不SDK在允许范围内,但也有可能是可能性,他们可能有一些私人API这样做,但到目前为止,他们还没有暴露的那些,我认为你是'nt能够在状态栏中添加图标。 如果有人知道请纠正我。

+0

正确,这是私人API。甚至不赞成使用的API,这将直接导致App Store拒绝。 – JustSid 2011-06-08 09:22:02

+1

+1 - 请参阅http://stackoverflow.com/questions/1391059/iphone-add-icon-in-status-bar-a-la-battery-indicator。 – 2011-06-08 09:23:56

+0

感谢@Nick Weaver @WebberLai:同时阅读@Nick Weaver提供的** SO **链接。 – Jhaliya 2011-06-08 09:26:26

相关问题