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

时间:2017-02-08 13:13:05

标签: ios swift keyboard

当我回到那个控制器时,我遇到了一个viewController的flash,其中searchField是第一个响应者。我在ios9上试过我,但没有这样的问题,所以看起来它是在ios10中造成的。

请问您可以提出一个可能的原因以及解决方法吗? 提前感谢您的任何建议。

enter image description here

编辑:

我的视图层次结构非常简单(它只是一个演示),但导致问题发生在这里我也在这里调查它。代码看起来像这样:

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

1 个答案:

答案 0 :(得分:1)

我也遇到了这个问题。在我的情况下,第一页上的屏幕是滚动视图内的堆栈视图,我仍然不确定为什么发生这种情况,但是在{{1}中设置滚动视图的内容插入为我解决了这个问题。我用这个代码:

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) 的{​​{1}}可能会解决此问题。