Slider、segmentControl
#import "MangoView.h"
@interface MangoView ()
@property(nonatomic,retain)UISegmentedControl *segmentedControl;
@property(nonatomic,retain)UISlider *slider;
@property(nonatomic,retain)UILabel *label;
@end
@implementation MangoView
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self loadingCustomView];
}
return self;
}
- (void)dealloc{
[_slider release];
[_label release];
[_segmentedControl release];
[super dealloc];
}
- (void)loadingCustomView{
//初始化segmentedControl,需要指定一个数组,数组元素是segment即将显示的内容
self.segmentedControl = [[UISegmentedControl alloc]initWithItems:@[@"apple",@"banana",@"bear"]];
//frame
self.segmentedControl.frame = CGRectMake(0, 100, self.frame.size.width, 40);
//按下之后,YES选中效果会马上消失,NO按下后选中效果会一直保留直到选中其它选项
self.segmentedControl.momentary = YES;
//numberOfSegments:segment分段的个数
NSLog(@"%lu",self.segmentedControl.numberOfSegments);
//给某个分段设置标题
[self.segmentedControl setTitle:@"李小璐" forSegmentAtIndex:2];
//在segment的某一个位置插入一个名字为title的分段,animated是否有过渡动画的效果
[self.segmentedControl insertSegmentWithTitle:@"霍思燕" atIndex:1 animated:YES];
//设置segment主题颜色
self.segmentedControl.tintColor = [UIColor orangeColor];
//给某个分段设置图片
[self.segmentedControl setImage:[UIImage imageNamed:@"1.png"] forSegmentAtIndex:1];
//设置segment的某一个分段是否可用,不可用为黑色
[self.segmentedControl setEnabled:YES forSegmentAtIndex:3];
//给segment设置方法
[self.segmentedControl addTarget:self action:@selector(segmentTapAction:) forControlEvents:UIControlEventValueChanged];
[self addSubview:self.segmentedControl];
[self.segmentedControl release];
//滑块UISlider
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 200, self.frame.size.width - 40, 40)];
//滑块右侧最大值
self.slider.maximumValue = 100.0;
//滑块未划过的区域是红色
self.slider.maximumTrackTintColor = [UIColor redColor];
//滑块左侧最小值
self.slider.minimumValue = 0.0;
//滑块划过的区域是蓝色
self.slider.minimumTrackTintColor = [UIColor blueColor];
//UIControlEventValueChanged当值改变的时候调用
[self.slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[self addSubview:self.slider];
[self.slider release];
//创建label,并把slider.value值显示其上
self.label = [[UILabel alloc]initWithFrame:CGRectMake(20, 300, self.frame.size.width - 40, 20)];
self.label.backgroundColor = [UIColor lightGrayColor];
self.label.textAlignment = NSTextAlignmentCenter;
[self addSubview:self.label];
[self.label release];
}
- (void)sliderAction:(UISlider *)slider{
//使slider.value值显示在label上面
self.label.text = [NSString stringWithFormat:@"%f",self.slider.value];
}
//segment方法的实现
- (void)segmentTapAction:(UISegmentedControl *)segment{
//selectedSegmentTndex返回的是点击的哪一个分段
switch (segment.selectedSegmentIndex) {
case 0:
[self segmentOne];
break;
case 1:
[self segmentTwo];
break;
case 2:
[self segmentThree];
break;
case 3:
[self segmentFour];
break;
default:
break;
}
}
- (void)segmentOne{
NSLog(@"1");
}
- (void)segmentTwo{
NSLog(@"2");
}
-(void)segmentThree{
NSLog(@"3");
}
-(void)segmentFour{
NSLog(@"4");
}
@end
#import "MangoViewController.h"
#import "MangoView.h"
@interface MangoViewController ()
@end
@implementation MangoViewController
- (void)loadView{
[super loadView];
self.view = [[MangoView alloc]initWithFrame:self.view.frame];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end