IQKeyboardManager问题,UIViewController顶部重叠状态栏

问题描述 投票:0回答:3

我正在使用IQKeyboardManager

当我点击“回复”时,我会在屏幕中间显示一个透明背景的

UITextView
。整个
viewController
向上移动,很好。但是当我解雇时,
viewController
顶部位于
statusBar
下方。

为什么会这样?

ios swift xcode uitextview uikeyboard
3个回答
0
投票

这就是 IQKeyboardManager 的行为。 IQKeyboardManager 将采用最顶层的视图控制器,并根据 textView 位置将整个视图控制器向上推。图书馆没有任何问题。这就是它的实施方式。因此,有几种方法可以避免这种情况。

使用下划线的一种方法。尝试一次。我不确定这是否适用于每个项目。

self.view.window.windowLevel = UIWindowLevelStatusBar;

另一种方法是为 TextView 添加一个超级视图并尝试。这些是处理它的几种可能的方法。


0
投票

尝试将 ScrollView 内的这些 TextField 和导航栏(如果使用自定义)移出 ScrollView。它将解决这个问题。


0
投票

按下键盘时我也遇到过同样的问题。我通过将其添加到

viewWillAppear

解决了这个问题
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    let appearance = UINavigationBarAppearance()
    appearance.backgroundColor = .white
    self.navigationController?.navigationBar.scrollEdgeAppearance = appearance
    
}
© www.soinside.com 2019 - 2024. All rights reserved.