Как я могу добавить подвид под панелью состояния и поверх панели навигации в iOS?

Я пытаюсь добавить подвид между панелью состояния и панелью навигации, поэтому я установил позицию y = 0, и после этого я уменьшаю размер ключевого окна UIApplication, чтобы освободить место сверху.

но строка состояния выглядит странно, и она тоже была смещена. введите здесь описание изображения

Панель навигации смещена вниз, это нормально. но мне также нужно показать правильную строку состояния. Вот мой код.

    float yPosition = 0;
    CGRect fr = CGRectMake(0, yPosition, UIScreen.mainScreen.bounds.size.width, 40);
    
    runningCallView.frame = fr;
    
    [UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 40, UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height-40);
    [[UIApplication sharedApplication].keyWindow.rootViewController.view addSubview:runningCallView];```

Can anyone please help on this. Thank you.

person MMSmmsbd    schedule 13.01.2021    source источник


Ответы (1)


Я решил проблему. Теперь вместо того, чтобы смещать keyWindow вниз, я сдвинул вниз rootviewController.

[UIApplication sharedApplication].keyWindow.rootViewController.view.frame = CGRectMake(0, shiftDownwards, UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height-shiftDownwards);

и добавил подвид строки состояния, чтобы показать фальшивый подвид сверху. Также UiWindow должен был быть подклассом для обнаружения прикосновения к дополнительному добавленному представлению.

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
person MMSmmsbd    schedule 31.01.2021