【问题标题】:UIStepper Customization Results in Blue RectanglesUIStepper 自定义导致蓝色矩形
【发布时间】:2016-01-24 09:17:45
【问题描述】:

我一直在尝试自定义通过 Interface Builder 添加的 UIStepper 对象的外观。参考here等话题,我在viewDidLoad中添加了几行代码。

- (void)viewDidLoad {
    [[UIStepper appearance] setIncrementImage:[UIImage imageNamed:@"stepperupImage.tif"] forState:UIControlStateNormal];
    [[UIStepper appearance] setDecrementImage:[UIImage imageNamed:@"stepperdownImage.tif"] forState:UIControlStateNormal];
}

结果是蓝色的死亡矩形,如下图所示。 UIStepper 没有 UIButtonTypeCustom 之类的属性。有谁知道如何解决这个问题?我的部署目标是 iOS 8.0。

谢谢。

【问题讨论】:

  • 您的图片是完全不透明的,还是有透明度的?
  • 是和否。无论我在 Tiff 文件中打包 PNG 图像还是 JPEG 图像都没有任何区别。
  • 您是否将图像设置为“始终为原始”?
  • 我不知道那是什么意思。请详细说明你的观点。

标签: ios objective-c uistepper


【解决方案1】:

要渲染不具有原始透明度的图像:

  • 将“渲染为”设置更改为“原始图像”(仅限 .xcasset 文件)

——或者——

  • 在代码(docs)中更改渲染模式:

    UIImage *image;
    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    

在您的情况下,代码如下所示:

[[UIStepper appearance] setIncrementImage:[[UIImage imageNamed:@"stepperupImage.tif"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
[[UIStepper appearance] setDecrementImage:[[UIImage imageNamed:@"stepperdownImage.tif"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];

【讨论】:

  • 是的,就是这样。谢谢。
【解决方案2】:
UIImage *incrementImageFromFile = [UIImage imageNamed:@"plus.png"];
UIImage *incrementImage = [incrementImageFromFile imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

UIImage *decrementImageFromFile = [UIImage imageNamed:@"minus.png"];
UIImage *decrementImage = [decrementImageFromFile imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];



// For Normal state
[stepper setIncrementImage:incrementImage forState:UIControlStateNormal];
[stepper setDecrementImage:decrementImage forState:UIControlStateNormal];

// For Highlighted state
[stepper setIncrementImage:incrementImage forState:UIControlStateHighlighted];
[stepper setDecrementImage:decrementImage forState:UIControlStateHighlighted];

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    相关资源
    最近更新 更多