Я застрял в очень простой функциональности в iOS.Кнопка отправки не работает, когда клавиатура открыта в iOS
Я пытаюсь отправить данные с текстового поля, который находится внутри подсмотра прокрутки. Кнопка запускает действие, когда я нажимаю кнопку, когда клавиатура закрывается, как только я пытаюсь что-то написать, а кнопка открытия клавиатуры перестает отвечать.
VideoViewController:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
controller.videoID = videoID;
controller.channelID = channelID;
controller.view.frame = self.commentView.bounds;
[self.commentView addSubview:controller.view];
// [self.scrollView addSubview:controller.sendBtn];
[self addChildViewController:controller];
[controller didMoveToParentViewController:self];
}
CommentViewController:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
controller.videoID = videoID;
controller.channelID = channelID;
controller.view.frame = self.commentView.bounds;
[self.commentView addSubview:controller.view];
// [self.scrollView addSubview:controller.sendBtn];
[self addChildViewController:controller];
[controller didMoveToParentViewController:self];
}
-(void)keyboardWillShow:(NSNotification *)notification
{
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
[UIView animateWithDuration:0.3 animations:^{
CGRect f = self.view.frame;
f.origin.y = -keyboardSize.height+100;
self.sendView.frame = f;
}];
_sendBtn.userInteractionEnabled = YES;
}
-(void)keyboardWillHide:(NSNotification *)notification
{
[UIView animateWithDuration:0.3 animations:^{
CGRect f = self.view.frame;
f.origin.y = 0.0f;
self.sendView.frame = f;
}];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[commentTextField resignFirstResponder];
return YES;
}
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
return ![view isKindOfClass:[UIButton class]];
}
Пожалуйста, предложите что-нибудь по этому вопросу. Спасибо.
Вы можете отправить меня или показать мне свой код? то я покажу, что какова фактическая проблема в вашем коде. –
Я также обновил код. Пожалуйста, проверьте – Coder
, что ваш код будет прекрасным, но лучшее предложение вам нужно будет использовать класс IQKeyboardManager для автоматического создания текстового поля с показом клавиатуры. это может помочь решить вашу проблему. [link] (https://github.com/hackiftekhar/IQKeyboardManager) –