6

是否可以更改 UIStepper 的大小?当我尝试设置步进器的大小时,它似乎被忽略了。

UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(50,50,100,100)];
[self.view addSubview:stepper];
NSLog(@"%@",stepper);
CGRect r = CGRectMake(50,50,100,100);
stepper.frame = r;
NSLog(@"%@",stepper);

日志说框架是 (50 50; 94 27)

是否可以从 94、27 更改大小?

4

4 回答 4

14

您无需转换即可正确更新 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:

在此处输入图像描述

于 2015-02-11T05:07:37.490 回答
-1

我同意巴尼乌帕尔的观点。步进器的大小无法更改,您无法借助两个自定义按钮实现相同的功能,并且可以设置按钮的背景图像以给人以步进器的印象。

于 2012-09-21T07:29:39.543 回答
-1

您可以在您的viewDidLoad

 Stepper.transform = Stepper.transform.scaledBy(x: 10, y: 10)

但它会抵消功能但试一试!

于 2017-12-10T19:57:32.777 回答
-3

您不能更改 UIStepper 的大小。UIStepper 是 UIView 的子类,您可能可以通过某种 hack 更改大小,可能正在创建 UIStepper 的子类并覆盖 drawRect:,我不确定这是否可行。但这样做会使您的应用面临被拒绝的风险。如果您需要不同的尺寸,最好的选择是制作自定义组件。

于 2012-09-21T04:41:59.287 回答