由 TTNavigator 恢复后 TTStyleSheet 不起作用
我正在使用 Three20 库的 1.1 版,并且正在设置一个全局样式表来更改我的应用程序委托中的 navigationBarTintColor
,如下所示:
[TTStyleSheet setGlobalStyleSheet:
[[[DefaultStyleSheet alloc] init] autorelease]];
工作正常,除非我的应用程序状态已恢复通过在 TTNavigator
中调用 restoreViewControllers
。在这种情况下,导航栏将显示 iOS 默认的淡蓝色。当我导航到下一个视图时,样式表再次生效。
我还在 Three20 Google Group 上发布了这个问题。当然,如果我在那里找到答案,我会在这里更新。
I'm using version 1.1 of the Three20 library and I'm setting a global style sheet to change the navigationBarTintColor
in my app delegate like this:
[TTStyleSheet setGlobalStyleSheet:
[[[DefaultStyleSheet alloc] init] autorelease]];
That is working just fine, except when my app state is restored by calling restoreViewControllers
in TTNavigator
. In that case, the navigation bar is showing the iOS default, pale blue color. When I navigate on to the next view, the style sheet takes effect again.
I also posted this question on the Three20 Google Group. I'll update here if I find an answer there, of course.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
与此同时,我在 320 Google 群组。
简而言之:如果所有视图控制器都继承自 TTViewController,则全局样式表将正常工作。当直接从 UIViewController 继承时,需要一个解决方法
强制执行所需的行为。使用类别或公共超类为视图控制器实现以下方法:
In the mean time, I found a solution to this with the help of the kind people on the Three20 Google Group.
In short: The global style sheet will work correctly, if all view controllers descend from TTViewController. When inheriting directly from UIViewController, a work-around is needed to
enforce the wanted behavior. Use either categories or a common super-class to implement the following method for your view controllers: