вам нужно добавить subview в делегат приложения и изменить цвет по своему вкусу. вот пример кода, который сидит в applicationdidfinishLaunchingWithOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Override point for customization after application launch.
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, 0, 320, 20);
//change this to match your navigation bar or view color or tool bar
//You can also use addStatusBar.backgroundColor = [UIColor BlueColor]; or any other color
addStatusBar.backgroundColor = [UIColor colorWithRed:0.973/255. green:0.973/255. blue:0.973/255. alpha:1];
[self.window.rootViewController.view addSubview:addStatusBar];
}
return YES;
}
посмотрите на комментарии. вы можете использовать любой тип цвета в addStatusBar.backGroundColor
в соответствии с цветом, который вам нужен. обратите внимание, что цвет с красным здесь просто создает черный фон, измените его на все, что вам нужно. для темно-серого цвета заменить, что со следующим кодом:
addStatusBar.backgroundColor = [UIColor colorWithRed:85.0/255.0 green:85.0/255.0 blue:85.0/255.0 alpha:1];
редактирование:
для изменения цвета строки состояния в отдельных видах, которые вы просто подключить в следующем коде (который будет иметь доступ вида, который вы хотите изменить) в ViewDidLoad
метод сразу после [super viewDidLoad];
, который должен изменить цвет строки состояния именно в этом окне вы поместите код в
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, 0, 320, 20);
addStatusBar.backgroundColor = [UIColor colorWithRed:0.973/255. green:0.973/255. blue:0.973/255. alpha:1];
[self.view addSubview:addStatusBar];
edit1:.
при попытке добавить подвид на верхней части панели пилить в навигационном контроллере, вы должны дважды положение подвида, что-то вроде следующего:
UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, -20, 320, 20);
addStatusBar.backgroundColor = [UIColor colorWithRed:127.0/255. green:0.0/255. blue:127.0/255. alpha:1];
[self.view addSubview:addStatusBar];
[self.navigationController.navigationBar addSubview:addStatusBar];
, а также вам нужно добавить подвид пока еще подпункт навигационной панели навигационных контроллеров. Я устанавливаю цвет фона подвью в фиолетовый, но вы можете это изменить.
Это работает только для rootViewController. Как установить его на уровне приложения, для всех контроллеров? – user623396
@ user623396, для установки цвета строки состояния (таким образом, есть другие способы установить его). Я просто добавляю subview в верхнюю часть строки состояния с координатой и размером. он работает так же, как и на уровне контроллера, но вам нужно получить доступ к представлению, а не к rootviewcontroller. возможно, это случай, если вы хотите изменить цвет строки состояния в разных представлениях, чтобы иметь другой цвет строки состояния. Я изменил один и тот же код, чтобы работать над уровнем контроллера в моем редактировании сообщения. сообщите мне, если это то, что вы ищете или нуждаетесь в дополнительной помощи. –
@XCode_Monkey благодарит за ваш ответ. Проблема в том, что добавление подобного вида будет помещено под панель навигации, а не вверху экрана. – user623396