Размещение UIView или UIWindow над панелью состояния

Моя цель - нарисовать невидимую кнопку над строкой состояния в верхней части моего приложения для iPhone (размер 320 * 20 пикселей).

Что бы я ни пытался, что-то глючит:

  1. Например, я пытался создать новое представление. Добавить UIView поверх всех других представлений, включая строку состояния Даже если второй UIWindow не рекомендуется, я попытался его реализовать. Это работало так, как я хотел, пока я не заметил проблему: клавиатура больше не появляется, когда это необходимо (например, при нажатии на текстовое поле)!

Как я могу это исправить? Или есть лучший подход к моей проблеме? Это мой код для создания второго окна:

// Create window
statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,320,20)];
statusWindow.windowLevel = UIWindowLevelStatusBar;
[statusWindow makeKeyAndVisible];

// Create statusBarButton
statusBarButton = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect buttonFrame2 = statusBarButton.frame;
buttonFrame2.size = CGSizeMake(320,20);
statusBarButton.frame = buttonFrame2;
[statusBarButton addTarget:self action:@selector(goTop) forControlEvents:UIControlEventTouchUpInside]; 

// Place button into the new window
[statusWindow addSubview:statusBarButton];

7
задан Community 23 May 2017 в 11:55
поделиться