如何创建自定义 UISlider
Posted
技术标签:
【中文标题】如何创建自定义 UISlider【英文标题】:How to create a custom UISlider 【发布时间】:2016-09-06 14:48:17 【问题描述】:嗨,我如何创建自定义 UISlider
,如下图所示。
我用谷歌搜索了很多仍然无法找到一种方法来做到这一点。任何人都可以建议我如何实现这一目标。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:自定义 UISlider
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController :UIViewController
@property (strong, nonatomic) IBOutlet UILabel *LineLbl;
@property (strong, nonatomic) IBOutlet UIScrollView *scrollviewObj;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize LineLbl;
@synthesize scrollviewObj;
- (void)viewDidLoad
[super viewDidLoad];
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(10,LineLbl.frame.origin.y + LineLbl.frame.size.height +20, self.view.frame.size.width -20, 20)];
slider.maximumValue = 1;
slider.value = 0.6;
[slider setMinimumTrackTintColor:[UIColor clearColor]];
[slider setMaximumTrackTintColor:[UIColor clearColor]];
[slider setThumbImage:[UIImage imageNamed:@"sliderImg"] forState:UIControlStateNormal];
CAGradientLayer *red_gradient =[CAGradientLayer layer];
UIColor *startColor=[UIColor yellowColor];
UIColor *midColor=[UIColor colorWithRed:(155/255.f) green:(250/255.f) blue:(90/255.f) alpha:1];
UIColor *endColor= [UIColor colorWithRed:(96/255.f) green:(255/255.f) blue:(59/255.f) alpha:1];
red_gradient.frame = slider.bounds;
red_gradient.colors = [NSArray arrayWithObjects:(id)[startColor CGColor], (id)[midColor CGColor],(id)[endColor CGColor], nil];
[red_gradient setStartPoint:CGPointMake(0.0, 0.5)];
[red_gradient setEndPoint:CGPointMake(1.0, 0.5)];
[slider.layer insertSublayer:red_gradient atIndex:2];
[scrollviewObj addSubview: slider];
我关注了this。
【讨论】:
以上是关于如何创建自定义 UISlider的主要内容,如果未能解决你的问题,请参考以下文章