ios - 导航栏在动画期间不反射(reflect)新的文本属性到以前的 View Controller

标签 ios objective-c cocoa-touch ios7 uinavigationbar

有 2 个 View Controller :vc1vc2

vc1 插入 vc2,虽然 vc2 是顶 View Controller ,但我更改了导航栏的 titleTextAttributes。文本正在使用新属性,一切正常。

问题: 当用户按下 vc2 上的后退按钮并开始过渡动画时,前一个 View Controller (vc1) 的标题仍使用旧属性绘制,并且仅在过渡动画结束时立即更改为新属性。看起来很奇怪。

我期望并希望 vc1 立即采用新属性。事实上,属性已设置,但过渡动画并未反射(reflect)出来。 看起来系统正在某处缓存某些内容,但我不知道是什么内容和位置。

最佳答案

我得出的结论是,这是 iOS 7 中的错误之一。在同一个动画中,我看到影响导航栏按钮位置的不一致(它们在动画期间从一个位置跳到另一个位置)。

与此同时,原始问题得到了修复。为了在动画开始之前强制先前的 View Controller 使用新属性重绘其标题,我们可以将其标题设置为其他字符串,然后返回原始字符串。然后动画反射(reflect)新的属性。

关于ios - 导航栏在动画期间不反射(reflect)新的文本属性到以前的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20725950/

相关文章:

ios - 非阻塞连接到回送地址(127.0.0.1或本地主机)

ios - 模态转场需要点击 2 次而不是一次

ios - 为什么会发生警告?

iphone - 为 iOS 启动图像使用自定义文件名

ios - didSelectRowAtIndexPath 没有被调用?

iphone - NSOperationQueue 并发操作与新线程开始内部操作

ios - 访问空属性时 CoreData EXC_BAD_ACCESS (code=1, address=0x0)

iphone - UIControlEventTouchDragExit 仅触发 ~100 像素

iphone - 如何创建逻辑彩色图

iphone - 将图像添加到自定义单元格 subview