【问题标题】:UIStepper size of decrement and increment imagesUIStepper 递减和递增图像的大小
【发布时间】:2015-02-11 13:10:29
【问题描述】:

在 iOS 6 中,您现在可以使用 setIncrementImage: 和 setDecrementImage: 方法选择自己的增量和减量图像。 (在RayWenderlich 上查看一个超级快速的示例)。

但是我不知道这些图片应该有什么尺寸。我尝试了 44x44 点(即正常和视网膜的 44x44 和 88x88 像素),但这会使图像拉伸。

UIStepper 控件本身具有 97 磅宽和 27 磅高。但是,每张图片都不会覆盖整个半个区域(我尝试过全黑图片)。

有人知道增量和减量图像的确切尺寸吗?或者如何在iOS模拟器中测量点/像素距离?

谢谢。

更新

针对 ACB 的评论:

使用以下获取默认图像大小..

NSLog([NSString stringWithFormat:@"Decrement image size: width: %f, height: %f", [self.myStepper decrementImageForState:UIControlStateNormal].size.width, [self.myStepper decrementImageForState:UIControlStateNormal].size.height]);
NSLog([NSString stringWithFormat:@"Increment image size: width: %f, height: %f", [self.myStepper incrementImageForState:UIControlStateNormal].size.width, [self.myStepper incrementImageForState:UIControlStateNormal].size.height]);

显示默认递减符号为13x4点,默认递增符号为13x14点。

使用 13x4 点图像作为自定义减量符号的快速检查按预期工作(即新符号显示的大小与原始符号相同)。这使我得出结论,使用的自定义图像保留其原始大小,除非有必要缩小它们 - 在此期间它们会变形。

【问题讨论】:

  • 在您的项目中,检查 UIStepper 的- (UIImage *)decrementImageForState:(UIControlState)state 方法返回的图像大小。那应该给出默认值的大小。类似[stepper decrementImageForState:UIControlStateNormal].size
  • 感谢您的想法。我已经对其进行了测试,并将我的发现添加到了问题中。好像解决了:)
  • 很高兴知道它有帮助。添加为答案,以便您可以接受它。请接受。

标签: ios ios6 uistepper


【解决方案1】:

添加我的评论作为答案,因为这有助于解决问题。

在您的项目中,检查UIStepper- (UIImage *)decrementImageForState:(UIControlState)state 方法返回的图像大小。那应该给出默认值的大小。类似[stepper decrementImageForState:UIControlStateNormal].size

【讨论】:

    【解决方案2】:

    您可以更新 UIStepper 大小,从而设置任何大小的增量和减量图像。

    使用以下方法设置背景图片,步进器将使用背景大小自行绘制:

    - (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state
    

    示例

        [self.stepper1 setIncrementImage:[UIImage imageNamed:@"plusIcon1.png"] forState:UIControlStateNormal];
        [self.stepper1 setDecrementImage:[UIImage imageNamed:@"minusIcon1.png"] forState:UIControlStateNormal];
    
        [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkg1.png"] forState:UIControlStateNormal];
        [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkgHighlighted1.png"] forState:UIControlStateHighlighted];
        [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkgDisabled1.png"] forState:UIControlStateDisabled];
    

    与右侧未修改的步进器相比,这会在左侧产生以下结果:

    stepperBkg1@2x.png:

    stepperBkgHighlighted1@2x.png:

    【讨论】:

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