2013-02-09 78 views
152

我为Cydia编写了一个调整,它为状态栏添加了一个图标。 它在主屏幕上工作正常,当SpringBoard启动时,如果一个应用程序已经启动,那么它工作正常,但是,如果一个应用程序(如Facebook或Twitter)关闭(完全),并且图标显示,当启动应用程序时,它会导致图标消失。 使用libStatusBar使用此代码显示的图标:LibStatusBar图标在第三方应用程序启动时消失

if(icon) // if icon needs to be removed 
{ 
    [icon release]; 
    icon = nil; 
} 

... 

// add the icon to the status bar 
icon = [[%c(LSStatusBarItem) alloc] initWithIdentifier:[NSString stringWithFormat:@"muteIconLablabla"] alignment:StatusBarAlignmentRight]; 
icon.imageName = [NSString stringWithFormat:@"Mute"]; 

我也使用libStatusBar README文件

[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:... 

我试图重写-(id)init和更新的图标有建议的方法试过了,但同样的结果。

上面显示的代码是从static void函数调用的。此功能被称为几次,例如从-(void)applicationDidFinishLaunching:(id)application %hook SpringBoard-(void)ringerChanged:(int)changed

所有内部Tweak.xm。 该问题也发生在iOS7

回答

2

自从我使用libstatusbar以来已经有一段时间了,但如果您确定LSStatusBarItem未被发布,它可能被Springboard或其他应用程序隐藏。考虑明确设置icon.visible = YES。您也可以考虑通过调用[item setHidesTime:NO]明确地将的timeHidden设置为NO

此外,如果您未对图标进行任何更改,请设置icon.manualUpdate = NO

参考文献:

相关问题