【问题标题】:Three20 library - subclass of TTPhotoViewController has an opaque navigation barThree20 库 - TTPhotoViewController 的子类有一个不透明的导航栏
【发布时间】:2010-12-11 20:17:00
【问题描述】:

我正在使用 Three20 库中的 TTPhotoViewController 子类来显示来自网络位置的图像。图像加载正常,但导航栏和工具栏显示为默认色调。我正在使用带有自定义色调的导航栏(在 MainWindow.xib 中设置)

我尝试了这些方法让它显示黑色半透明条,但这些似乎都不起作用。

  1. 在 MainWindow.xib 中将导航栏样式设置为黑色半透明
  2. 在 MainWindow.xib 中将导航栏样式设置为黑色不透明
  3. 在子类的 viewWillAppear 中将导航栏样式显式设置为黑色半透明:

谁能告诉我为什么会发生这种情况以及如何解决这个问题?谢谢。

【问题讨论】:

    标签: iphone three20


    【解决方案1】:

    编辑:我是个白痴。您正在尝试设置 style,而不是颜色。以下是所有有效信息,但您几乎肯定想要的是navigationBarStyle 属性defined by TTViewController。对不起。


    Three20 内置了一个“样式表”机制,其预期目的是让您不必在应用程序中的所有 UI 对象上一遍又一遍地设置色调颜色、字体等。但是,如果您不知道它的存在,那么您最终会陷入这种情况。你需要做的是:

    在您的应用程序中创建TTDefaultStyleSheet 的子类,并至少覆盖此方法:

    - (UIColor*)navigationBarTintColor {
      return RGBCOLOR(119, 140, 168);
    }
    

    在你的应用中的某个地方(可能是applicationDidFinishLaunching:),调用:

    [TTStyleSheet setGlobalStyleSheet:
      [[[YourStyleSheetClass alloc] init] autorelease]];
    

    (您可能想在TTDefaultStyleSheet.h 中四处浏览,因为那里定义了一大堆由框架使用的其他样式,您可能还想覆盖这些样式。)

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多