iOS 11iOS学习iOS开发

iOS 11 设置PrefersLargeTitles后出现的异

2017-09-01  本文已影响2398人  东东隆东抢

之前在Stack Overflow上对此问题进行了提问,但是迄今为止没有满意答案。如今我本人也倾向于这是UIkitXcode(Xcode 9正式版本,此问题还在)的缺陷。仍然在等待Apple的官方回复,或许石层大海,永远没有回复。
iOS 11 issues with navigationBar prefersLargeTitles

最近还发现了一个在storyboard里设置imageViewtintColor不起作用,但是使用code设置却正常,我个人觉得也可能是Xcode的缺陷。
tintColor of UIImageView doesn't work with storyboard,but work with code

等待了2周,终于等到Apple的回复:

Apple回复.png

传2个工程文件给Apple,继续等待……

关于imageView tintColor问题,Apple今天给出了回复:已知缺陷,还没有修复:

Apple 关于storyboard里使用tintColor问题回复.png

既然已有其他人提了bug,为何Apple没有修复?继续等第1个问题的进一步回复。


最近我自己的MacBook Air出现了输入密码后卡在读取进度条,再之后黑屏关机问题,无奈之下重装系统,比较悲剧的是之前写的一些Demo都没有备份或者上传至gitHub。在此提醒大家,随时备份。
今天想写的主题是关于iOS 11里新出的功能prefersLargeTitles,即设置navigationBar上的title为大字体,效果如下(重点看navigationBar):

系统App效果.gif
个人觉得既然是新推出来的东西,还是得运用下,开发环境:Swift 4.0,Xcode 9 ,iOS 11
为了便于说明存在的bug,我自己写了一个demo:一个viewController视图上包含一个 imageView(做背景图)和tableView
storybord 里subview层次
原本目标是想要做到类似效果,代码如下:
self.title = "OMNI Remotes"
//tableView背景透明
tableView.backgroundColor = .clear
//navBar 透明
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
//去除阴影线
navigationController?.navigationBar.shadowImage = UIImage()
//设置大字体
navigationController?.navigationBar.prefersLargeTitles = true
//滑动时隐藏searchBar
navigationItem.hidesSearchBarWhenScrolling = true
//将searchController赋值给navigationItem
let sc = UISearchController(searchResultsController: nil)
navigationItem.searchController = sc

代码非常简单,不做过多解释,直接Run工程,发现了问题。此前,我一直怀疑是不是自己的项目有问题,但在这个简单到不能再简单的demo里还是出现了一模一样的问题,我就高度怀疑是Unkit bug。

上一篇下一篇

猜你喜欢

热点阅读