首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS UISlider自定义.从中心显示突出显示

iOS UISlider是一种用于在iOS应用程序中显示和控制数值范围的用户界面元素。它通常用于调整音量、亮度、进度等参数。UISlider可以通过自定义来实现从中心显示突出显示的效果。

要实现从中心显示突出显示的效果,可以通过设置UISlider的外观属性来实现。以下是一种可能的实现方法:

  1. 创建一个自定义的UISlider子类,例如CustomSlider。
  2. 在CustomSlider类中,重写layoutSubviews方法,该方法在每次布局发生变化时被调用。
  3. 在layoutSubviews方法中,获取UISlider的滑块(thumb)视图,并设置其frame属性,使其位于UISlider的中心位置。
  4. 设置UISlider的最小值和最大值,以及初始值。
  5. 设置UISlider的其他外观属性,例如颜色、背景图像等,以实现突出显示的效果。

以下是一个示例代码:

代码语言:swift
复制
import UIKit

class CustomSlider: UISlider {
    override func layoutSubviews() {
        super.layoutSubviews()
        
        if let thumbView = self.subviews.last {
            let thumbSize = thumbView.frame.size
            let trackRect = self.trackRect(forBounds: self.bounds)
            let thumbRect = thumbView.frame
            
            let thumbOriginX = (trackRect.size.width - thumbSize.width) / 2.0
            let thumbOriginY = (trackRect.size.height - thumbSize.height) / 2.0
            thumbView.frame = CGRect(x: thumbOriginX, y: thumbOriginY, width: thumbSize.width, height: thumbSize.height)
            
            // 设置滑块的外观,例如颜色、背景图像等
            thumbView.backgroundColor = UIColor.red
            thumbView.layer.cornerRadius = thumbSize.height / 2.0
        }
    }
}

// 在使用时,可以像使用普通的UISlider一样使用CustomSlider
let slider = CustomSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 20))
slider.minimumValue = 0
slider.maximumValue = 100
slider.value = 50

// 添加到视图中显示
view.addSubview(slider)

这样,通过自定义UISlider的外观,我们可以实现从中心显示突出显示的效果。

推荐的腾讯云相关产品:腾讯云移动应用分析(https://cloud.tencent.com/product/mga)可以帮助开发者分析和监控移动应用的使用情况,提供数据分析、用户行为分析、漏斗分析等功能,帮助优化应用的用户体验和性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS UISlider用法总结 原

UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互,用法总结如下: 初始化一个滑块:  UISlider * slider = [[UISlider alloc]...property(nonatomic) float minimumValue;   设置滑块最大边界值(默认为1) @property(nonatomic) float maximumValue; 设置滑块最左端显示的图片...: @property(nonatomic,retain) UIImage *minimumValueImage; 设置滑块最右端显示的图片: @property(nonatomic,retain) UIImage...*thumbTintColor; 注意这个属性:如果你没有设置滑块的图片,那个这个属性将只会改变已划过一段线条的颜色,不会改变滑块的颜色,如果你设置了滑块的图片,又设置了这个属性,那么滑块的图片将不显示...,滑块的颜色会改变(IOS7) 手动设置滑块的值: - (void)setValue:(float)value animated:(BOOL)animated; 设置滑块的图片: - (void)setThumbImage

82020

iOS实践:根据进度绘制进度条、进度扇形、进度球1. 效果展示及思维导图2. 项目准备工作3. 进度条的实现4. 扇形进度指示器5. 球形指示器

如果觉得不好看的同学,可以通过自定义线段+Label的方式实现。绘制线段的部分可以参考上一篇分享里面有,同时也可以参考下面绘制扇形或者球形进度指示器的部分。...然而UISlider的范围是可以自定义的,所以我们需要做一下数值的安全处理,让最终下载进度的数值范围在0~1之间。...扇形进度指示器 定义扇形的中心、扇形的半径、扇形的起点; 计算扇形的结束位置:起点 + 进度百分比*2PI 根据起始点、原点、半径绘制弧线. 弧线结束为止绘制一条线段到圆心。...重新进度属性的set方法,为的是给进度赋值的时候可以时时刷新UI,同时用文字Label显示进度的具体数值。...这样系统会自动闭合图形,绘制一条圆心到弧线起点的线段。

2.6K30

iOS滑动条UISlider的使用方法

引 由于项目的需求,学习使用了一下滑动条UISlider的使用方法,这里记录一下。...现在看看怎么实现的: 1.首先我们要创建滑动条,这是肯定的,创建代码如下: // 滑动条slider UISlider *slider = [[UISlider alloc] initWithFrame...宽度我用了一个自定义的屏幕宽度常量。这里要注意的一点是,滑动条的高度,如果设为0,其实还是会正常显示。但是!一旦高度设为0,滑动条将不能左右滑动!我就入过这个坑。。。...当然我们还仅仅定义了滑动条的位置,还有很多属性没有定义,我们接着设置: // 滑动条slider UISlider *slider = [[UISlider alloc] initWithFrame...slider变动时改变label值 - (void)sliderValueChanged:(id)sender { UISlider *slider = (UISlider *)sender

2.3K20

UISlider实现整数滑动,点击响应,大小高度样式定制

经常会有人认为UISlider非常鸡肋,只能实现简单的滑动条效果,不能定制样式,不能点击某个位置跳转等等,事实上UISlider的扩展性很强.....整数滑动 slider的value是float型,滑动的时候value会平滑的过渡,如果设置了1到10的范围,我们可能就不需要这些中间的小数 - (void)sliderValueChange:(UISlider...minimumValueImage; //右边的图片 @property(nullable, nonatomic,strong) UIImage *maximumValueImage; 滑块图片显示模式是...clipsToBounds,所以图片的大小很重要 轨道图片是通过resizableImage进行拉伸的 minimumValueImage和maximumValueImage就是左右两个图片而已,因为是始终显示的...} } 1.重写touchesBegan方法,计算点击位置的value 2.获取滑块的frame,判断点击是否在滑块内 3.如果是,则不作处理,让父类处理 4.如果不是,则赋值新的value,target

1.5K20

iOS-视频播放器的简单封装

iOS-视频播放器的简单封装 封装视频播放器,首先需要了解视频播放器的实现,iOS9之前可以使用MediaPlayer来进行视频的播放,iOS9之后系统推荐使用AVFoundation框架实现视频的播放...如果仅仅是播放视频两者的使用都非常简单,但是相比MediaPlayer,AVPlayer对于视频播放的可控制性更强一些,可以通过自定义的一些控件来实现视频的播放暂停等等。...,并且我们为了能让工具栏的显示有动画效果,这里通过设置toolView的alpha来显示或隐藏工具栏,并通过isShowToolView来记录toolView的显示或隐藏。...]; [self removeShowTime]; } - (IBAction)valueChangedSlider:(UISlider *)sender { // 计算slider拖动的点对应的播放时间...self.timeLabel.text = [self timeToStringWithTimeInterval:currentTime]; } - (IBAction)touchUpInside:(UISlider

1.8K110

微信iOS收款到账语音提醒开发总结

产品体验上来说,收款到账的金额播报是随着local push的弹出一起播放的,更像是一种特殊的push铃声,而苹果对push铃声的处理是受到静音开关控制的,所以讲道理,这个吐槽是合理的。...最后我在Reddit上找到了一种曲线救国的方式,实现起来也不复杂:使用AudioServicesPlaySystemSound播放一段0.2s的空白音频,并监听音频播放完成事件,如果开始播放到回调完成方法的间隔时间小于...方式二:通过MPVolumeView设置音量 第二种方式则是将一个看不见的MPVolumeView添加到当前视图上,系统音量提示框就不会显示了。...需要注意的是,在调节完系统音量需要将MPVolumeView移除,否则后续用户手动调节音量会出现系统音量提示框不显示的情况。...- (void)setSystemVolume:(float)volume { UISlider* volumeViewSlider = nil; for (UIView *view

3.5K60

iOS Human Interface Guidelines》——Slider滑动条

滑动条 滑动条让用户对一个值或者进程在允许的范围内进行调整(如下所示左边右边都有自定义图片)。 API NOTE 查看UISlider学习更多关于在你的代码中定义滑动条的内容。...如果它增加了值,为滑动条创建自定义的外观。...比如说,你可以: 定义滑动点的外观,这样用户可以一眼看出滑动条是否是活动的 在滑动条的两端提供图片来帮助用户理解滑动条的功能 一般来说,这些自定义的图片相当于滑动条控件值范围的最小和最大值。...比如一个控制图片尺寸的滑动条,可以在最小值那边显示一个非常小的图片,在最大值那边显示一个非常大的图片。...为滑动点定义一个不同的外观,这依赖于滑动点在哪一边以及控件在什么状态 不要使用滑动条来显示音量控件。如果你需要显示一个音量滑动条,当你使用MPVolumeView的时候可以使用系统提供的音量滑动条。

90620

iOS中表单视图第三方控件——FXForms 原

iOS中表单视图第三方控件——FXForms 一、引言         表单视图是移动开发中十分常用的一种UI方式。...在iOS开发中,系统的UITableView可以用来创建表单视图,其界面的渲染与逻辑的处理需要开发者实现许多代理方法。...FXFormFieldTitle; //设置当前节点的placeHolder UIKIT_EXTERN NSString *const FXFormFieldPlaceholder; //设置节点上默认显示的文字...控件的cell @interface FXFormSliderCell : FXFormBaseCell @property (nonatomic, readonly) UISlider *slider...四、关于自定义视图控制器         如果开发者的视图控制器并不是继承于FXFormViewController,也可以使用FXForms来快捷的创建表单视图,开发者自定义的视图控制器需要遵守FXFormControllerDelegate

1.2K20

断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)

分组器默认选中项segmentControl.selectedSegmentIndex = 0; 2.1 事件监听 监听 UISwitch 的状态改变,要使用 Value Changed 事件(可参照 UISlider...action:@selector(segmentControlChangeValue:) forControlEvents:UIControlEventValueChanged]; 2.2 手势事件大全 iOS...UIControlEventTouchDragEnter: 当触摸控件窗口之外拖动到内部时。 UIControlEventTouchDragExit: 当触摸控件窗口内部拖动到外部时。...2.3 设置segment的显示样式(segmentedControlStyle) typedef NS_ENUM(NSInteger, UISegmentedControlStyle) { UISegmentedControlStylePlain...:不要用这个类型 } NS_DEPRECATED_IOS(2_0, 7_0, "The segmentedControlStyle property no longer has any effect")

79130
领券