您当前的位置: 首页 >  ide

简约同样简单:为UISlider添加显示当前值的标签(上)

发布时间:2019-01-27 13:35:26 ,浏览量:0

本文畅想了几种为UISlider添加显示当前值的方法,并选择了其中一个稳定,简单的实现.适合iOS刚入门或中级水平的童鞋们观赏.

看不见值?这不科学!

默认的UISlider,你可以任意拖动,却看不见当前表示的值…

有点盲人摸象的赶脚了…

我们一般的做法是用另一个控件表示其当前值,比如一个UILabel.

不过这样貌似要另外占用一些空间,不紧凑!

看到UISlider上面那个圆圆的把手了么?我们准备把当前值显示在它里面!

几种可能的实现
  • 第一种: UISlider可以替换把手图片,如果我们可以用其当前表示的值生成对应的图片,我们就可以做到动态替换;因为这是Cocoa自带的接口,所以很稳定,唯一缺点是动态生成图片略显繁琐.
  • 第二种: 在运行时找到UISlider把手对应的View,将Label作为它的子视图;这样做的好处是一旦添加Label,它会随把手一起移动,你将不用再操心它的位置.但如何找到,以及何时去找到UISlider对应的View,需要一些小手段.
  • 第三种: 在UISlider的valueChanged回调中,根据当前值来计算Label位置.不过这样的话UISlider.isContinuous必须为true,因为你需要即时得到值的变化.

貌似选择很多啊,那我们选择哪一种呢?

答案是:上面统统都不选!

在这里插入图片描述 因为还有一种方法:方法零!

第零种方法

为了利用Cocoa的接口(稳定),为了UISlider.isContinuous可以为false,必须找到一种方法:如何定位Slider把手的位置?

其实这很简单!!!

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0675s