如何创建自定义 UISlider [英] How to create a custom UISlider

查看:23
本文介绍了如何创建自定义 UISlider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何创建一个自定义的 UISlider,如下图所示.

我在谷歌上搜索了很多仍然无法找到一种方法来做到这一点.任何人都可以建议我如何实现这一目标.任何帮助将不胜感激.

解决方案

自定义 UISlider

视图控制器.h

#import @interface ViewController :UIViewController{}@property (strong, nonatomic) IBOutlet UILabel *LineLbl;@property (strong, nonatomic) IBOutlet UIScrollView *scrollviewObj;@结尾

ViewController.m

#import "ViewController.h"@interface 视图控制器 (){}@结尾@实现视图控制器@synthesize LineLbl;@synthesize scrollviewObj;- (void)viewDidLoad{[超级viewDidLoad];UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(10,LineLbl.frame.origin.y + LineLbl.frame.size.height +20, self.view.frame.size.width -20, 20)];滑块.maximumValue = 1;滑块值 = 0.6;[滑块 setMinimumTrackTintColor:[UIColor clearColor]];[滑块 setMaximumTrackTintColor:[UIColor clearColor]];[slider setThumbImage:[UIImage imageNamed:@"sliderImg"] forState:UIControlStateNormal];CAGradientLayer *red_gradient =[CAGradientLayer 层];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: 滑块];}

我关注了this.>

Hi How can i create a custom UISlider like the image below.

I googled a lot still couldn't able to find a way to do that. Can anybody suggest me how to achieve this. Any help would be greatly appreciated.

解决方案

Custom 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];
}

I followed this.

这篇关于如何创建自定义 UISlider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆