import Foundationimport UIKitclass ExerciseController :UIVIEwController,UItableVIEwDataSource,UItableVIEwDelegate { @IBOutlet var exercisetableVIEw :UItableVIEw overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() } overrIDe func vIEwWillAppear(animated: Bool) { NSNotificationCenter.defaultCenter().addobserver(self,selector: "reload",name: UIContentSizecategoryDIDChangeNotification,object: nil) } overrIDe func vIEwWilldisappear(animated: Bool) { NSNotificationCenter.defaultCenter().removeObserver(self,object: nil) } func reload() { println("reload") } func numberOfSectionsIntableVIEw(tableVIEw: UItableVIEw!) -> Int { return 1 } func tableVIEw(tableVIEw: UItableVIEw!,numberOfRowsInSection section: Int) -> Int { return 1 } func tableVIEw(tableVIEw: UItableVIEw!,cellForRowAtIndexPath indexPath: NSIndexPath!) -> UItableVIEwCell! { let cellIDentifIEr = "ExerciseCell" var cell = tableVIEw.dequeueReusableCellWithIDentifIEr(cellIDentifIEr) as? UItableVIEwCell if !cell { cell = UItableVIEwCell(style: .Default,reuseIDentifIEr: cellIDentifIEr) } cell!.textLabel.text = "Hello" cell!.textLabel.Font = UIFont.preferredFontForTextStyle(UIFontTextStyleheadline) return cell }}
我运行我的应用程序,然后转到设置应用程序来修改文本大小,但通知选择器没有被调用,不知道为什么.在此先感谢您解决此问题,所有帮助表示赞赏
*以前通知观察员在vIEwDIDiLoad和deinit上设置,但它也不起作用
更新#1
我用键盘通知尝试了同样的事情,它确实有效.这意味着应用程序无法识别文本大小何时更改
解决方法 编辑1 Apple已承认我的错误报告并将其与另一个错误报告合并.我做了一些测试,发现这个问题/ BUG只适用于iOS 8模拟器和UIContentSizecategoryDIDChangeNotification.其他通知按预期工作,并且UIContentSizecategoryDIDChangeNotification在iOS 7模拟器中的行为与预期相同.我已经提交了雷达的错误报告.希望这可以澄清在不久的将来有这个问题的人.
编辑2
现在似乎已经修复了.此外,来自Big Nerd Ranch的this library真正简化了设置动态类型的整个过程.
总结以上是内存溢出为你收集整理的ios – 未触发动态类型通知全部内容,希望文章能够帮你解决ios – 未触发动态类型通知所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)