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

时间:2014-07-13 19:29:13

标签: ios ios7 uislider

我想自定义我的UISlider,以便能够显示附加照片中的步骤(BTW这是一个字体大小选择器,来自我的iPhone设置的本机控制)。我能够设置最小和最大的图像,但我无法显示步骤。我不需要第三方库来执行此操作,我确信可以自定义UISlider来实现此目的。

enter image description here

请帮忙。

提前致谢。

1 个答案:

答案 0 :(得分: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];
}