ios - ViewController 的闪烁,其中 textField 是第一响应者

标签 ios swift keyboard

当我返回那个 Controller 时,我遇到了 viewController 的闪光,其中 searchField 是第一响应者。我在ios9上试过,没有这个问题,看来是ios10引起的。

请问是什么原因造成的,如何解决? 预先感谢您提出任何建议。

enter image description here

编辑:

我的 View 层次结构非常简单(它只是一个演示),但问题也发生在这里,我正在调查这里。代码如下所示:

class ViewController: UIViewController {

    @IBOutlet weak var searchBar: UISearchBar!


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func viewWillAppear(_ animated: Bool) {

        searchBar.becomeFirstResponder()
    }
}

enter image description here

最佳答案

我也遇到过这个问题。就我而言,第一页上的屏幕是 ScrollView 内的堆栈 View ,我仍然不确定为什么会发生这种情况,但在 中设置了 ScrollView 的内容插入viewWillAppear 为我解决了这个问题。我为此使用了这段代码:

let insets = UIEdgeInsetsMake(0.0, 0.0, 0.0, 0.0)
scrollView.contentInset = insets
scrollView.scrollIndicatorInsets = insets
scrollView.contentSize = CGSize(width: stackView.frame.width, height: stackView.frame.height)

如果这种类型的解决方案不适合您,您能否在 View 中添加更多有关对象层次结构的详细信息?

也许设置 UISearchBarControllercontentInset 可以解决这个问题。

关于ios - ViewController 的闪烁,其中 textField 是第一响应者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42114151/

相关文章:

ios - 将 UINavigationBar alpha 更改为 0,然后返回主页并返回应用程序。 navigationBar alpha 更改为 1

ios - Swift 4 .plist 处理

iOS Getter 和 Setter 混淆

ios - 奇怪的 Swift 协议(protocol)行为

automation - 在应用程序焦点上更改键盘布局

Swift 让键盘适应设备屏幕

Android OnEditorActionListener() actionId 在我单击“完成”时给出 0

android - 在 iOS 中创建 "dashboard"主屏幕

ios - 我的 IOS 应用程序是否正确设置了我的谷歌分析?

ios - 无法将表达式类型 'Dictionary' 转换为类型 'StringLiteralConvertible'