【问题标题】:Titanium Label shows up as Blended Layer in iOS simulatorTitanium Label 在 iOS 模拟器中显示为混合层
【发布时间】:2013-09-09 12:12:34
【问题描述】:

在 iPhone 模拟器中使用调试选项时,我发现 Titanium 标签显示为颜色混合图层,即使我设置了 backgroundColor 并将不透明度设置为 1。我希望这里的人能解释一下为什么标签就是这样,我该如何解决这个问题。

var pageView = Ti.UI.createView({
    width: Ti.UI.FILL,
    height: Ti.UI.FILL,
    backgroundColor: '#FFFFFF'
});

    var text = Ti.UI.createLabel({
        width: Ti.UI.FILL,
        height: Ti.UI.SIZE,
        top: top+5,
        left: 49,
        right: 10,
        textAlign: "left",
        text: exitCriteria[ix],
        opacity: 1,
        backgroundColor: '#FFFFFF'
    });
    pageView.add(text);

【问题讨论】:

  • 抱歉,太快了——我使用的版本是;钛合金 3.1.2GA 合金 1.2.1 iOS 6.1.3

标签: ios titanium


【解决方案1】:

刚刚看了Titanium源码,好像Label是一个TiView,里面有一个背景清晰的UILabel。

TiUILabel.m 第 147 行:

label.backgroundColor = [UIColor clearColor];

如果你想避免这种行为,你应该编辑这个文件,或者创建一个模块 TiUILabel+NoClear 来重写 -(UILabel*)label;功能。

但第一个选项可能会移除对您的标签所有的透明度支持。

如果您需要帮助,请告诉我!

M_

【讨论】:

  • 感谢您的回复 - 看来您是对的。在我的情况下,我认为这个混合层会导致我在使用 ScrollableView 时在我的应用程序中看到的性能不佳。情况可能仍然如此,但我刚刚发现 Appcelerator 出现了一个与我的可滚动问题有关的缺陷。所以在 Scrollable 缺陷得到修复之前,我想我会离开这个。
  • 我尝试在我的项目的构建文件中编辑 TiUILabel.m,但 XCode 没有选择它进行重新编译(必须是强制这个我不知道的技巧)。再次感谢。
  • 确保您正在编辑 Titanium SDK,而不是项目文件夹中的文件。 SDK 位于 /Library/Application Support/Titanium/... 并记得从 Titanium Studio 中清理您的项目,以便安装新的 SDK。
猜你喜欢
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2021-01-09
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
相关资源
最近更新 更多