有谁知道你是否可以删除 iOS7 的 UIStepper 的边缘?我希望你只能看到没有边界的减少和增加...... E'可以定制吗?
谢谢大家
有谁知道你是否可以删除 iOS7 的 UIStepper 的边缘?我希望你只能看到没有边界的减少和增加...... E'可以定制吗?
谢谢大家
如果您有增量和减量按钮的自定义图像,则可以使用此解决方案。制作tintColor
stepper 的属性[UIColor clearColor]
。这样边框和按钮将不可见。要防止按钮不可见,请执行以下操作:
UIImage *incrementImageFromFile = [UIImage imageNamed:@"theName"];
UIImage *incrementImage = [incrementImageFromFile imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
您还需要使您的图像与您想要使用的色调颜色相同。
实际上是的,您可以将背景图像设置为纯色图像,如下所示:
- (UIImage *)emptyImageForSteper
{
UIGraphicsBeginImageContext(CGSizeMake(1, 1));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, COLOR_BUTTON_LIGHT.CGColor);
CGContextFillRect(context, CGRectMake(0, 0, 1, 1));
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
[steper setBackgroundImage:self.emptyImageForSteper forState:UIControlStateNormal];
你去吧
它适用于 Swift 编码器:
var incrementImageFromFile : UIImage = UIImage(named: "Offer_Plus")!
var incrementImage : UIImage = incrementImageFromFile.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
var decrementImageFromFile : UIImage = UIImage(named: "Offer_Minus")!
var decrementImage : UIImage = decrementImageFromFile.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
self.seatStepper.tintColor = UIColor.clearColor()
self.seatStepper.setDecrementImage(decrementImage, forState: UIControlState.Normal)
self.seatStepper.setIncrementImage(incrementImage, forState: UIControlState.Normal)
输出是:
无法自定义 UIStepper。您只能更改背景图像、tintColor 和两个图像(加号和减号)。我认为最好和最简单的方法是像这样创建自己的。1)创建两个按钮并作为文本 + 和 - 2)这是起始代码。然后你需要处理最大值和最小值:
.h file
@interface ViewController : UIViewController {
NSInteger value;
}
- (IBAction)plus:(id)sender;
- (IBAction)minus:(id)sender;
.m file
- (IBAction)plus:(id)sender {
value++;
}
- (IBAction)minus:(id)sender {
--value;
}