当我回到那个控制器时,我遇到了一个viewController的flash,其中searchField是第一个响应者。我在ios9上试过我,但没有这样的问题,所以看起来它是在ios10中造成的。
请问您可以提出一个可能的原因以及解决方法吗? 提前感谢您的任何建议。
编辑:
我的视图层次结构非常简单(它只是一个演示),但导致问题发生在这里我也在这里调查它。代码看起来像这样:
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()
}
}
答案 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}}可能会解决此问题。