gpt4 book ai didi

当我在显示的键盘上单击文本字段两次时,iOS UIScrollView 无法滚动

转载 作者:行者123 更新时间:2023-11-29 00:10:06 24 4
gpt4 key购买 nike

我在 Objective-C 中的 UIScrollview 中遇到有关 iOS 的问题。

我将 UI 自动布局拖动到下面的照片周围。

enter image description here

当我单击文本字段时,键盘将显示,我需要可以 ScrollView 。

enter image description here

看起来没问题,但是当我点击完成按钮并隐藏键盘时,

我再次单击文本字段,键盘将显示,但我无法再次 ScrollView 。

其他问题如上图,

当我在 tableview 上滚动时,tableview 无法滚动,

是滚动外面的scroll view,怎么设置tableview上的touch,是scroll tableview。

下面是我的键盘事件代码,我已经在 GitHub 上上传了这个页面的完整代码和自动布局项目: this problem link

有人可以帮我吗?非常感谢。

 - (void)viewDidLoad {
[super viewDidLoad];

[self registerForKeyboardNotifications];
self.tf.inputAccessoryView = self.keyboardToolbarVw;

}

- (void)registerForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}

- (void)keyboardWasShown:(NSNotification*)aNotification
{
NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
self.sv.contentInset = contentInsets;
self.sv.scrollIndicatorInsets = contentInsets;

CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, self.view.frame.origin) ) {
CGPoint scrollPoint = CGPointMake(0.0, self.view.frame.origin.y-kbSize.height);
[self.sv setContentOffset:scrollPoint animated:YES];
}
}


- (void)keyboardWillBeHidden:(NSNotification*)aNotification
{
UIEdgeInsets contentInsets = UIEdgeInsetsZero;
self.sv.contentInset = contentInsets;
self.sv.scrollIndicatorInsets = contentInsets;
}

- (IBAction)keyboardToolbarDoenBtnAction:(UIButton *)sender {
[self.tf resignFirstResponder];
}

最佳答案

检查您的代码后,似乎有问题 UIScrollView帧更新 - (void)keyboardWasShown:(NSNotification*)aNotification

请尝试 IQKeyboardManager 而不是在框架上进行此类手动工作

我建议在我们所有的项目中使用 IQKeyboardManager 库 :) 它是一个插入式通用库,可让您防止键盘向上滑动并覆盖 UITextField/UITextView 的问题,而无需您编写任何代码等等......

关于当我在显示的键盘上单击文本字段两次时,iOS UIScrollView 无法滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46721054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com