Ios UIActivityIndicator显示在键盘下方的视图
在静态库(lib.a)中,我在序列图像板中有一个Ios UIActivityIndicator显示在键盘下方的视图,ios,objective-c,uialertview,uiactivityindicatorview,Ios,Objective C,Uialertview,Uiactivityindicatorview,在静态库(lib.a)中,我在序列图像板中有一个NavigationController,点击按钮后启动: [mainWindow.rootViewController presentViewController:newController animated:NO completion:Nil]; 在这个newController中,我有一个UITextField,我在viewDidLoad上设置成为第一响应者,还有另一个按钮,当点击该按钮时,我想显示一个UIAlertView,按下“Ok”后
NavigationController
,点击按钮后启动:
[mainWindow.rootViewController presentViewController:newController animated:NO completion:Nil];
在这个newController
中,我有一个UITextField
,我在viewDidLoad
上设置成为第一响应者
,还有另一个按钮,当点击该按钮时,我想显示一个UIAlertView
,按下“Ok”后,它应该在所有内容的顶部显示一个UIActivityIndicatorView
(包括键盘)
用于显示UIActivityIndicatorView
的代码如下
UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
spinner.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
spinner.center = CGPointMake(CGRectGetWidth(mainWindow.bounds)/2, CGRectGetHeight(mainWindow.bounds)/2);
spinner.frame = mainWindow.bounds;
spinner.backgroundColor = [UIColor darkGrayColor];
spinner.alpha = 0.7f;
[mainWindow addSubview:spinner];
每当用户点击按钮时,我执行以下操作:
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Confirmation"
message:@"Are you sure?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[message show];
当点击时,我有一个简单的方法:
//Initializing spinner
[spinner startAnimating];
//Execute NSURL Connection....
问题是ui活动指示灯视图
没有显示在键盘顶部
有什么想法吗?试着在后面添加
[mainWindow addSubview:spinner];
差不多
[mainWindow bringSubviewToFront:spinner];
尝试将此视图用作UIActivityIndicatorView的超级视图
- (UIView *)keyboardView {
NSArray *windows = [[UIApplicatio sharedApplication] windows];
for (UIWindow *window in [windows reverseObjectEnumerator]) {
for (UIView *view in [window subviews]) {
if (!strcmp(object_getClassName(view), "UIKeyboard")) {
return view;
}
}
}
return nil;
}
在显示指示器之前,将
UIActivityIndicatorView
设置为窗口最前面的子视图
添加代码:
[main window bringsubview-tofront:spinner];
在[spinner-startAnimating]之前
谢谢您的快速回复。我已经尝试过了,但仍显示在键盘下方。我尝试过编辑后的注释,但仍显示在键盘下方。我编辑了我的说明,因为我忘了提及所有这些都是在静态库中完成的。谢谢您的建议!我尝试过,但仍显示在键盘下方键盘:(