`
啸笑天
  • 浏览: 3435095 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

UISlider 获取滑块上方坐标&解决滑块两边空隙

 
阅读更多

 

  • 获取滑块上方坐标:

   

比如infoView是上面要显示的坐标,scrubberSliderUISlider

    self.infoView.hidden = NO;

    CGRect trackRect = [self.scrubberSlider convertRect:self.scrubberSlider.bounds toView:nil];//可能scrubberSlider嵌套,求出scrubberSlider在最外层(infoView父层)的frame

    CGRect thumbRect = [self.scrubberSlider thumbRectForBounds:self.scrubberSlider.bounds trackRect:trackRect value:self.scrubberSlider.value];//得到滑块在最外层(infoView父层)的frame

   

   infoxy

    CGRect rect = self.infoView.frame;

   [self.infoView sizeToFit];

    rect.origin.x = (thumbRect.origin.x) - ceilf(CGRectGetWidth(self.infoView.frame) / 2) + 16;

    rect.origin.y = self.boundsHeight - 80;

    self.infoView.frame = rect;

 

 

  • UISlider两边有空隙的解决方法:

重写UISlider的这个方法:改变滑块的触摸范围

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value

{//返回滑块大小

    rect.origin.x = rect.origin.x - 10 ;

    rect.size.width = rect.size.width +20;

    return CGRectInset ([super thumbRectForBounds:bounds trackRect:rect value:value], 10 , 10);

}

 

 

当然UISlider还有这么几个方法可以重写:

 

// 控制slider的宽和高,这个方法才是真正的改变slider滑道的高的

-(CGRect)trackRectForBounds:(CGRect)bounds

{//返回滑道大小

    bounds.origin.x=15;

    bounds.origin.y=bounds.size.height/3;

    bounds.size.height=bounds.size.height/5;

    bounds.size.width=bounds.size.width-30;

    return bounds;

}

 

- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds

{//返回左边图片

    return CGRectMake(0, 0, CGRectGetWidth(self.frame), CGRectGetHeight(self.frame));

}

 

- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds

{//返回右边图片

    return CGRectMake(0, 0, CGRectGetWidth(self.frame)/ 2, CGRectGetHeight(self.frame) / 2);

}

分享到:
评论

相关推荐

    iOS中的UISlider滑块组件用法总结

    PC上的滑块是很丑陋的,因为我们只能通过鼠标去拖动他。不过当Jobs把它移植到IOS上时一切变得酷起来,因为我们可以通过手指去拖动它,这种感觉是很妙的。 滑块为用户提供了一种可见的做范围调整的方法,用户可以通过...

    两个滑块的范围选择UISlider

    实现了一个有两个滑块,可以选择一个范围的UISlider。是在网上找到的一个控件的基础上作了包装,可以实时显示现在选择范围。可用于选择价格范围等。 现有的问题: 1、没有实现step的功能。 2、滑块的滑动还不是特别...

    ios-XYUISlider.zip

    基于系统UISlider 解决滑块不灵敏 显示百分比

    ios-自定义UISlider.zip

    自定义UISlider, 翻页时显示页数, 翻页进度, 点击slider滑块快速翻页

    UISlider的用法举例

    列举了UISlider的一些常用属性及用UISlider控制uilabel内字体的大小,

    CharonChui#iOSStudyNote#11.UI基础之UISlider&UISwitch1

    11.UI基础之UISlider&UISwitchoverride func viewDidLoad() {// 左边的图标// 右边的图标// 设置滑块图标/

    ios的UISlider自定义

    ios的UISlider自定义,用图片自定义添加

    自定义UISlider_双按钮

    一个实用的自定义双按钮UISlider实例: 1、可根据用户需要设定最大值和最小值; 2、可以实时获取左侧按钮和右侧按钮分别对应的值; 3、滑动灵活精准,数值变化实时准确; 4、完全开源,开以者可以根据自己需要做相应...

    UISlider Demo代码

    UISlider Demo IOS 控件 代码

    UISlider-TrackHeight:调整UISlider的滑动条高度

    UISlider-TrackHeight 调整UISlider的滑动条高度 Import pod 'UISlider-TrackHeight', '~> 1.0.2' Usage #import "UISlider+VDTrackHeight.h" self.slider.vd_trackHeight = 5.0f; License

    iphone 开发基础控件UISlider

    iphone中的基础控件UISlider,适合初学者,主要学习UISlider的常用属性设置、点击事件、以及替换滑块图片等

    XCode iPhone UISlider用法

    移动滑动条就可以设置文字控件背景颜色的绿色纸 在文字控件中设置0~1.0的浮点值就卡可以设置文字控件背景颜色的红色值 核心带啊: float fAlpha = mySlider.value / (mySlider.maximumValue-mySlider.minimumValue...

    UISlider控制北京颜色

    UISlider控制背景颜色

    UISlider.zip

    UISLider滑条图标大小位置,滑条大小颜色形状设置Demo

    TGPControls:带有刻度,图像和动画标签的UISlider的直接替换

    TGP控件带有刻度和动画标签的滑块(快速) TGPControls是UISlider和UILabel的UISlider替代,具有Interface Builder中的视觉预览,单眼线检测,流畅的动画,简单的API,强大的自定义功能。什么是DiscreteSlider? ...

    UISlider UIProgressView关联控制,自定义扩展使用

    UISlider 和 UIProgressView的自定义使用,随意进行修改扩展,有详细的代码注释,自己进行扩展使用

    nz-range-slider:适用于本机范围滑块或UISlider的Cordova插件

    这使我们能够将本机范围滑块组件放置在我们的混合应用程序中,或者如果我们需要常规的UISlider。 本机组件基于NMRangeSlider: : 随时为该项目做出贡献,并为该插件提供更多功能。 您可以在以下链接中找到有关如何...

    UISlider的用途的方法

    详细讲解UISlider的用途,以及基本的实现方法,有执行代码

    类似于UISlider滑杆效果

    源码JAMAccurateSlider,JAMAccurateSlider是UISlider的一个子类,行为非常类似于UISlider。当用户滑动滑块儿时,给定范围两端会出现两个小的卡尺,以展示精确程度。 测试环境:Xcode 5.0,iOS 6.0以上

Global site tag (gtag.js) - Google Analytics