Я ищу способ на iPhone из-за пользовательского «загрузочного» подпредставления, чтобы подпредставление закрывало клавиатуру, не закрывая клавиатуру. Прямо сейчас, когда загружается подвид, клавиатура по-прежнему находится сверху. Любые идеи?
Показать вид над клавиатурой
comment
Всякий раз, когда вы добавляете подвид к текущему представлению, просто напишите этот код перед добавлением подвида [TextView resignFirstResponder]; когда вы открываете клавиатуру из UITextView.
- person Mehul Mistri   schedule 01.07.2011
Ответы (3)
добавьте свой вид загрузки в качестве подвида в окно. Он также закроет клавиатуру. Вот сообщение stackoverflow для того же
iPhone — показать индикатор ожидания
ОБНОВЛЕНИЕ
Мой код
#pragma mark -
#pragma mark Waiting View
- (void)showWaitingView {
CGRect frame = CGRectMake(90, 190, 32, 32);
UIActivityIndicatorView* progressInd = [[UIActivityIndicatorView alloc] initWithFrame:frame];
[progressInd startAnimating];
progressInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
frame = CGRectMake(130, 193, 140, 30);
UILabel *waitingLable = [[UILabel alloc] initWithFrame:frame];
waitingLable.text = @"Processing...";
waitingLable.textColor = [UIColor whiteColor];
waitingLable.font = [UIFont systemFontOfSize:20];;
waitingLable.backgroundColor = [UIColor clearColor];
frame = [[UIScreen mainScreen] applicationFrame];
UIView *theView = [[UIView alloc] initWithFrame:frame];
theView.backgroundColor = [UIColor blackColor];
theView.alpha = 0.7;
theView.tag = 999;
[theView addSubview:progressInd];
[theView addSubview:waitingLable];
[progressInd release];
[waitingLable release];
[window addSubview:[theView autorelease]];
[window bringSubviewToFront:theView];
}
- (void)removeWaitingView {
UIView *v = [window viewWithTag:999];
if(v) [v removeFromSuperview];
}
person
Rahul Vyas
schedule
01.07.2011
Спасибо за ссылку. На самом деле MBProgressHUD — это то, что я пытаюсь реализовать. однако я хочу, чтобы клавиатура всегда оставалась видимой, а MBProgressHUD находился за клавиатурой.
- person Jake Sankey; 01.07.2011
@Jake Sankey Вы можете добавить mbprogresshud в окно вместо текущего представления. Я публикую простой код для отображения индикатора активности. Вы можете использовать это.
- person Rahul Vyas; 01.07.2011
в моем файле реализации нет «окна». он находится в делегате приложения. я пробовал [super.view.window addSubview:HUD]; без везения...
- person Jake Sankey; 01.07.2011
у вас есть окно в applicationDelegate. Из делегата приложения вам нужно вызвать эту функцию.
- person Rahul Vyas; 01.07.2011
Прости, Рахул, я не понимаю, что ты имеешь в виду. Какую функцию я вызываю? Я пытаюсь загрузить MBProgressHUD через свой контроллер представления, поэтому делегат приложения (который определяет «окно») не кажется доступным.
- person Jake Sankey; 01.07.2011
вы можете получить доступ к appDelegate в любом месте приложения, используя приведенный ниже код yourAppdelegateName *appDelegate = [UIApplication sharedApplication].delegate; Кстати, код, который я разместил, вам нужно вставить в свой класс appDelegate. А затем доступ, как это. yourAppdelegateName *appDelegate = [UIApplication sharedApplication].delegate; //Для отображения представления ожидания [appDelegate showWaitingView]; //Для удаления представления ожидания [appDelegate removeWaitingView];
- person Rahul Vyas; 01.07.2011
похоже, это не работает с iOS5 SDK. Клавиатура на высоте, несмотря ни на что.
- person Jiho Kang; 12.10.2011
person
schedule
большой! при появлении клавиатуры - счет будет 2
- person Rubycon; 13.03.2013
Просто добавьте представление в
[UIApplication sharedApplication].windows.lastObject
тоже работает, спасибо.
- person Kyle Fang; 04.07.2013
person
schedule
как мы можем получить фронт
UIPopoverController
вперед?
- person AykutE; 06.03.2015