iPhone スライダー サンプル

iOS7でいろいろなパーツのデザインが変わったみたい。今日はスライダーをつかったiPhoneアプリのサンプルを作ってためしてみる。


動作イメージ
XcodeからiOS7 iPhone Simulatorで動かすとこんな感じになります。

サンプルコード

#import “ViewController.h”

@interface ViewController ()

@property (strong, nonatomic) UISlider *slider;

@property (strong, nonatomic) UIView *mark;

@end

@implementation ViewController

– (void)viewDidLoad

{

    [super viewDidLoad];

    

    self.mark.center = CGPointMake(160, 160);

    

    self.slider.value = 5;

}

– (UISlider*)slider

{

    if (!_slider) {

        _slider = [[UISlider alloc] initWithFrame:CGRectMake(30, 300, 260, 20)];

        _slider.maximumValue = 10;

        [self.view addSubview:_slider];

        

        [_slider addTarget:self action:@selector(updateSlider:) forControlEvents:UIControlEventValueChanged];

    }

    

    return _slider;

}

– (UIView*)mark

{

    if (!_mark) {

        _mark = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];

        _mark.backgroundColor = [UIColor greenColor];

        _mark.layer.shadowColor = [UIColor blackColor].CGColor;

        _mark.layer.shadowOffset = CGSizeMake(2, 2);

        _mark.layer.shadowOpacity = 0.8;

        _mark.layer.shadowRadius = 2;

        [self.view addSubview:_mark];

    }

    return _mark;

}

– (void)updateSlider:(UISlider*)sender

{

    CGPoint center = self.mark.center;

    self.mark.frame = CGRectMake(0, 0, 16 * sender.value, 16 * sender.value);

    self.mark.center = center;

}

– (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end