UINavigationController转换问题

时间:2018-02-17 22:54:53

标签: swift uinavigationcontroller uinavigationbar uisearchbar uisearchcontroller

这是关于使用UISearchController进行表搜索的Apple简单指南,我已经下载了该演示项目并且运行良好。

https://developer.apple.com/library/content/samplecode/TableSearch_UISearchController/Introduction/Intro.html

我想在产品详情视图( DetailViewController.swift )上设置透明导航栏。更改某些行为后,我在使用滑动手势从产品详细信息返回到设备列表时会出现转换问题(下面的视频链接)。

https://www.dropbox.com/s/denqomhhxasxv58/issue.mov?dl=0

对于透明导航栏,我在 DetailViewController 上添加了这一行 viewWillAppear 方法

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    // ...

    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
}

MainTableViewController.swift 中,我添加了此代码以使navigationBar成为默认样式。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
    navigationController?.navigationBar.shadowImage = UIImage()
}

我还对MainTableViewController viewDidLoad 方法进行了更改,并将此属性设置为true。

navigationItem.hidesSearchBarWhenScrolling = true
searchController.dimsBackgroundDuringPresentation = true

所以我的问题是解决这个问题。有人可以帮帮我吗?

更新:

从产品详细信息切换到设备列表 Swipe transition from product detail to device list 未打开产品详细信息时搜索控制器活动状态 Search controller active state when product detail not opened 打开产品详细信息后搜索控制器活动状态 Search controller active state after product detail opened

0 个答案:

没有答案