Appleドキュメントで以下のコードを見つけてviewDidLoad
メソッドに追加しましたが、コードを実行してもスライダーが表示されません。
CGRect frame = CGRectMake(0.0, 0.0, 200.0, 10.0);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
slider.value = 25.0;
ビュー階層にスライダーを追加する必要があります。追加 [self.view addSubview:slider];
そしてそれは動作するはずです。
新しいスライダーを作成する
-(IBAction)mySlider
{
CGRect frame = CGRectMake(0.0, 0.0, 200.0, 10.0);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
slider.value = 25.0;
[self.view addSubview:slider];
}
スライダーアクション
-(void)sliderAction:(id)sender
{
UISlider *slider = (UISlider*)sender;
float value = slider.value;
//-- Do further actions
}
[self.view addSubview:slider]を介したビューへの追加は、前述のように必須です。
私の場合、CGRect frame = CGRectMake(0.0、0.0、200.0、10.0);
あなたはおそらくそれを少し落として、多分左マージンからそれを取り除くべきです。
たぶん? CGRectフレーム= CGRectMake(5.0、10.0、200.0、10.0);
IOS 6以降では、実際にこれを追加して、実際にロードしたものも表示する必要があります(フレームを下げた場合でも表示できます)。
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
{
self.edgesForExtendedLayout=NO;
}