【问题标题】:Tint color on non-bar style segmented control非条形分段控件上的色调颜色
【发布时间】:2012-07-06 05:04:18
【问题描述】:

我遇到了一个 UiSegmentedControl 的编译问题,它的样式是bezeled。颜色是黑色。我收到一个错误:

"Tint color on non-bar style segmented control"

这个问题可以解决吗?是应用提交的问题吗?

【问题讨论】:

  • 你能提供更多细节吗?我也使用了 UISegmentedControl 与样式边框和色调颜色。

标签: iphone objective-c ios uisegmentedcontrol


【解决方案1】:

我认为这是 Xcode/Interface Builder 中的一个错误。
iOS HIG 对不同的样式只字未提,文档明确允许为边框 UISegmentedControls 着色:

UISegmentedControlStyleBezeled
这种风格的分段控件可以有淡色。

我会忽略警告。

【讨论】:

  • 您使用的是哪个版本?我在 4.3 模拟器上执行代码。它工作正常
  • 应用执行没有问题。 Interface Builder 在编译时错误地显示警告。
【解决方案2】:

在界面生成器中,选择 Segment 控件。

在属性检查器中,将 Tint 设置为 Default

【讨论】:

    【解决方案3】:

    出于某种原因,XIB 发出了这个警告,但 iOS 确实支持带有边框样式的 tintColor。您可以通过以编程方式指定它来避免警告。不过有一个窍门。如果样式设置为 bezeled,则设置 tintColor 将被忽略。你需要这样做:

    [segControl setSegmentedControlStyle:UISegmentedControlStyleBar];
    segControl.tintColor = [UIColor colorWithWhite:0.48 alpha:1.0];
    [segControl setSegmentedControlStyle:UISegmentedControlStyleBezeled];
    

    在这种情况下,我正在加载一个设置为边框的 XIB(这样我可以看到它是如何适合的)......但我将它设置回了一个条形并在将其设置回之前更改了色调。很奇怪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多