我在我的应用程序中使用以下代码实现了大标题:
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always
} else {
// Fallback on earlier versions
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y <= 0 {
if #available(iOS 11.0, *) {
self.navigationItem.largeTitleDisplayMode = .always
} else {
// Fallback on earlier versions
}
} else {
if #available(iOS 11.0, *) {
self.navigationItem.largeTitleDisplayMode = .never
} else {
// Fallback on earlier versions
}
}
self.navigationController?.navigationBar.setNeedsLayout()
self.view.setNeedsLayout()
UIView.animate(withDuration: 0.01, animations: {
self.navigationController?.navigationBar.layoutIfNeeded()
self.view.layoutIfNeeded()
})
}
我能够成功地在选项卡栏之间切换视图,但是当我将一个视图推到选项卡栏控制器的顶部,然后使用以下代码弹出它时:_ = self.navigationController?.popViewController(animated: true)
当我再次在选项卡上切换视图时,会出现以下错误: 终止应用程序,原因是未捕获的异常 'NSInternalInconsistencyException',错误原因:UIScrollView不支持多个实现_scrollViewWillEndDraggingWithVelocity:targetContentOffset:观察者'