And*_*rew 2 iphone objective-c iphone-softkeyboard
我有这个代码:
JMenuController *menuController = [[JMenuController alloc] init];
NSArray *buttonsArray = [NSArray arrayWithObjects:@"From Libary", @"Take Photo or Video", nil];
[menuController showMenuWithTitle:@"Add Media" ButtonTitles:buttonsArray animated:YES];
self.currentMenuType = JCreateMenuTypeNewMedia;
[[[[UIApplication sharedApplication] delegate] window] addSubview:menuController];
Run Code Online (Sandbox Code Playgroud)
问题是,视图显示在键盘下方,该键盘已在屏幕上.我该如何解决?
在键盘顶部显示某些视图的最简单方法是将该视图置于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];
Run Code Online (Sandbox Code Playgroud)
如果您使用的是ARC,请确保对myWindow保持强烈的引用.否则,它将自动释放,因此不会被添加到您的应用程序窗口.
(这就是UIActionSheet和UIAlertView在内部工作的方式.当其中一个可见时,看一下[UIApplication sharedApplication] .windows,你会看到他们创建windows,其windowLevel设置为UIWindowLevelAlert.)