我正在使用IQKeyboardManager。
当我点击“回复”时,我会在屏幕中间显示一个透明背景的
UITextView
。整个viewController
向上移动,很好。但是当我解雇时,viewController
顶部位于statusBar
下方。
为什么会这样?
这就是 IQKeyboardManager 的行为。 IQKeyboardManager 将采用最顶层的视图控制器,并根据 textView 位置将整个视图控制器向上推。图书馆没有任何问题。这就是它的实施方式。因此,有几种方法可以避免这种情况。
使用下划线的一种方法。尝试一次。我不确定这是否适用于每个项目。
self.view.window.windowLevel = UIWindowLevelStatusBar;
另一种方法是为 TextView 添加一个超级视图并尝试。这些是处理它的几种可能的方法。
尝试将 ScrollView 内的这些 TextField 和导航栏(如果使用自定义)移出 ScrollView。它将解决这个问题。
按下键盘时我也遇到过同样的问题。我通过将其添加到
viewWillAppear
解决了这个问题
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let appearance = UINavigationBarAppearance()
appearance.backgroundColor = .white
self.navigationController?.navigationBar.scrollEdgeAppearance = appearance
}