Я пытаюсь переместить UIView, когда пользователь коснется текстового поля в веб-просмотре, потому что клавиатура будет закрывать веб-просмотр, и пользователи не смогут вводить текст, мои коды работают очень хорошо! на iOS 7 !!! но iOS 8 вид перемещается вверх, но когда пользователь выбирает другое текстовое поле (в веб-просмотре), UIView переходит в исходное положение !!! , Вот мой код:Перемещение UIView, когда отображается клавиатура UIWebView
/* _contactForm = UIWebView
_contactView = UIView */
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidShow:)
name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidHide:)
name:UIKeyboardWillHideNotification
object:nil];
}
- (void)keyboardDidShow: (NSNotification *) notif {
[[[_contactForm subviews] lastObject] setScrollEnabled:YES];
if ([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad) {
[UIView animateWithDuration:.20
delay:0
options:UIViewAnimationOptionCurveLinear animations:^
{
[_contentView setFrame:CGRectMake(0, 37 , _contentView.frame.size.width, _contentView.frame.size.height)];
} completion:nil];
}
}
- (void)keyboardDidHide: (NSNotification *) notif{
[[[_contactForm subviews] lastObject] setScrollEnabled:NO];
[UIView animateWithDuration:.20
delay:0
options:UIViewAnimationOptionCurveLinear animations:^
{
[_contentView setFrame:CGRectMake(0, 176 , _contentView.frame.size.width, _contentView.frame.size.height)];
}completion:nil];
}
}
Я также попытался UIKeyboardDidHideNotification
и UIKeyboardDidShowNotification
, но не успех!
WebView загружает файл HTML из пучка, то это коды TextField в:
<form action="http://someurl.net/mail/mail.cshtml" method="post" onsubmit="return validate();">
<input class="textInput" type="text" name="name" placeholder="NAME"/>
<div class="clearfix"></div>
<input class="textInput" type="email" name="email" placeholder="EMAIL"/>
<div class="clearfix"></div>
<input class="textInput" type="text" name="phone" placeholder="PHONE"/>
<div class="clearfix"></div>
<textarea name="msg" cols="19" rows="3" placeholder="MESSAGE"></textarea>
<div class="clearfix"></div>
<input type="submit" class="submit" value="SEND"/>
</form>
Можете ли вы дать мне URL. –
@KiritModi Пожалуйста, проверьте отредактированный ответ –
, можете ли вы попытаться установить точку останова как для методов скрытия, так и для показа. Я хотел бы знать, вызваны ли оба из них, когда пользователь отбирает одно поле в другое. – Tuan