Самый простой способ отобразить некоторое представление поверх клавиатуры - поместить это представление в UIWindow
, для которого для свойства windowLevel
установлено значение UIWindowLevelAlert
. Что-то вроде:
UIView *myView = [[UIView alloc] initWithFrame:rect];
UIWindow *myWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
myWindow.windowLevel = UIWindowLevelAlert;
[myWindow addSubview:myView];
[myWindow makeKeyAndVisible];
Если вы используете ARC, убедитесь, что вы строго ссылаетесь на myWindow. В противном случае он будет автоматически освобожден и не будет добавлен в окна вашего приложения.
(Это то, как UIActionSheet и UIAlertView работают внутренне. Когда один из них является видимым, взгляните на [UIApplication sharedApplication] .windows, и вы увидите, что они создают окна с их windowLevel установленным в UIWindowLevelAlert.)