更改UIStepper的大小

use*_*234 3 cocoa-touch objective-c ios uistepper

我似乎无法改变大小UIStepper:

  1. 在IB中,"宽度"和"高度"框显示为灰色.
  2. 我用过initWithFrame:

    UIStepper*stepper = [[UIStepper alloc] initWithFrame:CGRectMake(300,638,120,80)];

    但它不会改变大小.关于SO的几个帖子似乎暗示它是可变的.有什么建议吗?

giu*_*ppe 6

UIStepper* s = [UIStepper alloc] init];  
s.transform = CGAffineTransformMakeScale(0.75, 0.75);
Run Code Online (Sandbox Code Playgroud)


Bro*_*son 5

您无需转换即可正确更新UIStepper大小.

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

- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state
Run Code Online (Sandbox Code Playgroud)

    [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];
Run Code Online (Sandbox Code Playgroud)

与右侧未修改的步进器相比,左侧产生以下结果: 在此输入图像描述

stepperBkg1@2x.png:

在此输入图像描述

stepperBkgHighlighted1@2x.png:

在此输入图像描述

  • 这里重要的一点是背景图像是设置UIStepper大小的图像。 (2认同)

Vik*_*ica 2

来自文档:

步进器的边界矩形与 UISwitch 对象的边界矩形匹配。

听起来不太可能,好像可以提前实现。

也在这篇博文中:

// Frame defines location, size values are ignored
UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(120, 20, 0, 0)]; 
Run Code Online (Sandbox Code Playgroud)

但你可以尝试改变它的图层