iphone 自定義Status Bar

方法一:利用私有API添加新圖標
直接上代碼:在具體視圖控制器中重寫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];
}
}
複製代碼


 方法二:用新的UIWindow覆蓋原來的狀態欄
裝載自:http://b.imi.im/?p=374
首先繼承UIWindow,及init的方法,關鍵語句self.windowLevel = UIWindowLevelAlert;

複製代碼

- (id)init
{
    CGRect f = [[UIScreen mainScreen] bounds]; //獲取屏幕區
CGRect s = [[UIApplication sharedApplication] statusBarFrame]; //獲取狀態欄框架區
self = [super initWithFrame:CGRectMake(0,0,f.size.width, s.size.height)]; if(self != nil) { self.windowLevel = UIWindowLevelAlert; self.backgroundColor = [UIColor clearColor]; [self makeKeyAndVisible]; } return self; }
複製代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章