У нас есть открытая клавиатура с открытой клавиатурой, но при нажатии кнопки «Назад» изображение открывается с правой стороны, когда клавиатура будет скользить только тогда, когда вид исчез. , если мы вызываем resignFirstResponder в viewwilldisappear, вид сдвигается вправо, пока клавиатура сдвигается в одно и то же время. Можно ли выпустить клавиатуру с видом?IPhones- Выдвиньте клавиатуру с изображением
ответ
Попробуйте приклеить resignFirstresponder
в методе viewDidDisappear
.
**Set notificatins and use these methods.....Hope it solve problem:
First of all set your whole view in scrollView**
-(void)keyboardDidHide:(NSNotification *)notif
{
NSTimeInterval duration = 0.4;
[UIView animateWithDuration:duration animations:
^{
scrollView.contentSize=CGSizeMake(320,scrollOriginalFrame.size.height);
}];
keyboardVisible=NO;
}
-(void)keyboardDidShow:(NSNotification *)notif
{
scrollView.contentSize=CGSizeMake(self.view.frame.size.width, scrollOriginalFrame.size.height+235);
NSTimeInterval duration = 0.4;
[UIView animateWithDuration:duration animations:
^{
[scrollView setContentOffset:CGPointMake(0,162) animated:YES];
}];
keyboardVisible=YES;
}
**In viewDidLoad() add this**
//keyboard
scrollOriginalFrame=self.view.frame;
scrollOriginalFrame.size.height-=103;
scrollView.contentSize=scrollOriginalFrame.size;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardWillHideNotification object:nil];
keyboardVisible=NO;
Кажется, у нас нет прокрутки. И, похоже, это тоже не работает, клавиатураDidHide вызывается, когда клавиатура начинает скользить, в этот момент вид уже исчез. – gage
Посмотрите на просмотр прокрутки и переместите прокрутку ... не фактический вид –
Там нет стандартного способа сделать то, что вы хотите, но ...
В принципе, клавиатура просто вид, представленный в его собственном UIWindow поверх всех остальных окон.
Итак, теоретически, вам нужно найти клавиатуру и переместить ее в нужном направлении. Я думаю, вы должны использовать transform
собственности и не испортить с frame
.
Class keyboardClass = NSClassFromString(@"UIPeripheralHostView");
for (UIWindow *window in [[UIApplication sharedApplication] windows]) {
for (UIView *subview in window.subviews) {
if ([subview isKindOfClass:keyboardClass]) {
// that's keyboard
}
}
}
Отредактировано:
Если вы говорите о UINavigationController, и это по умолчанию анимации слайдов во время нажимной/поп, то вам просто нужно вызвать resignFirstResponder
в viewDidDisappear
и becomeFirstResponder
в viewWillAppear
на ваш взгляд текста. Таким образом, ваша клавиатура будет скользить вместе с вашим видом.
Он работает, но у него все еще есть другой вопрос. Клавиатура не сдвигается вправо, а правый правый угол. И когда я вхожу во второй раз, клавиатура может перемещаться. – gage
Клавиатура скользит вниз как часть стандартного отклонения клавиатуры. Я думаю, вы вызываете resignFirstResponder в свой метод viewWillDissapear. Возможно, вам следует наблюдать за уведомлениями о клавиатуре, а затем отменить его оригинальные анимации '[view.layer removeAllAnimations]' и выполнить собственные анимации. –
removeallanimations не может помешать сползать клавиатуру вниз, казалось, что система выполняет вычисление анимации клавиатуры после клавиатуры. – gage
Я тестировал это, и он работает в iOS 5.1, однако я не думаю, что это рекомендуется поведением.
for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows])
if ([[keyboardWindow description] hasPrefix:@"<UITextEffectsWindow"]) {
NSLog(@"%@", [keyboardWindow description]);
[UIWindow beginAnimations:@"fadeKeyboard" context:nil];
keyboardWindow.frame = CGRectMake(keyboardWindow.frame.origin.x + keyboardWindow.frame.size.width, keyboardWindow.frame.origin.y, keyboardWindow.frame.size.width, keyboardWindow.frame.size.height);
[UIWindow commitAnimations];
}
Вы также можете использовать уведомление UIKeyboardWillHideNotification для обнаружения, когда клавиатура будет скрывать, или просто использовать приведенные выше коды вручную.
- 1. как подключить клавиатуру введите кнопку с изображением
- 2. Swift: Выдвиньте меню
- 3. Оверлей Выдвиньте меню
- 4. Выдвиньте навигационную панель
- 5. Выдвиньте взгляд из экрана
- 6. Клавиатура Выдвиньте макет
- 7. Выдвиньте боковую панель меню
- 8. Выдвиньте меню, чтобы выйти с указателем движения
- 9. Выдвиньте меню с помощью JavaScript CSS
- 10. SubMenu Выдвиньте с правой стороны экрана
- 11. Отправить событие между iPhones
- 12. Выдвиньте боковую панель в Blogger
- 13. Выдвиньте меню, используя только Javascript
- 14. Отслеживание других iphones
- 15. Обнаружение доступной памяти iphones
- 16. Выдвиньте строку меню при щелчке
- 17. Соберите данные из нескольких Iphones
- 18. Обмен данными выравнивания между iphones
- 19. Как определить скорость потери iphones
- 20. Приложение без поддержки старых IPhones
- 21. iPhones, iPods, чувствительность акселерометра iPads?
- 22. Сохранение общих данных для iPhones
- 23. Отключить клавиатуру с одновременным представлением
- 24. Выдвиньте коробки контента, вспоминая последнее активное окно
- 25. Выдвиньте второй url из строки через regex
- 26. Выдвиньте меню и кнопки в jQuery
- 27. Выдвиньте конкретный вид на devails Rails
- 28. Выдвиньте div, нажав еще один div
- 29. Выдвиньте описание после щелчка изображения в галерее
- 30. Выдвиньте div на элементе формы формы
не работает. – gage
вызов resignfirstresponder здесь, просмотр слайдов и клавиатура выдвигаются, когда вид исчез, так же, как никогда не вызывать resignfirstresponder или вызывать его ad didunload. – gage