如何自定义 UISlider 以使步骤可见

Posted

技术标签:

【中文标题】如何自定义 UISlider 以使步骤可见【英文标题】:How to customze UISlider to get stepps visible 【发布时间】:2014-07-13 19:29:13 【问题描述】:

我想自定义我的 UISlider 以便能够显示附加照片中的步骤(顺便说一句,这是一个字体大小选择器,来自我的 iPhone 设置的本机控制)。我可以为最小值和最大值设置图像,但我无法显示步骤。我不需要 3rd 方库来执行此操作,我确信可以自定义 UISlider 来拥有它。

请帮忙。

提前致谢。

【问题讨论】:

【参考方案1】:

您可以在滑块后面添加一些子视图来显示步骤:

int numSteps = 5;
for(int i=0; i<numSteps; i++)
    CGFloat x = i*CGRectGetWidth(slider.frame)/(numSteps-1);
    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(x, CGRectGetMidY(slider.frame)-5, 1, 10)];
    v.backgroundColor = [UIColor lightGrayColor];
    [slider.superview insertSubView:v belowSubview:slider];

    UILabel numberLabel = [[UILabel alloc] init];
    numberLabel.text = [NSString stringWithFormat:@"%i",i];
    numberLabel.font = [UIFont systemFontOfSize:13];
    [numberLabel sizeToFit];
    numberLabel.center = CGPointMake(x, CGRectGetMidY(slider.frame)+CGRectGetHeight(numberLabel.frame)/2+7);
    [slider.superview insertSubView:numberLabel belowSubview:slider];

【讨论】:

罗伯特您的解决方案有效,谢谢。您能否还展示如何添加数字/字母,如大小 A 符号?我想显示每一步的数字。 我已经修改了答案以添加标签。设置任何你喜欢的文本...

以上是关于如何自定义 UISlider 以使步骤可见的主要内容,如果未能解决你的问题,请参考以下文章

.xib 中的垂直 UISlider 用于自定义类?

即使自定义图例单击以使其不可见,如何在折线图中至少显示一行

给 UISlider 进度条圆角 [Swift]

如何创建自定义 UISlider

如何在 Swift 中自定义 UISlider 值

如何将 UISlider 从自定义类文件中移动到某个位置