开发者

How can I create and display a UISlider programmatically in iOS?

I found the code below in the Apple documentation and added it to my viewDidLoad method but the slider doesn't appear when I run the code.

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 setBa开发者_如何学运维ckgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
slider.value = 25.0;


You need to add the slider into your view hierarchy. Add [self.view addSubview:slider]; and it should work.


Try this Code:

Create a new 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];
}

Slider Actions

-(void)sliderAction:(id)sender
{
    UISlider *slider = (UISlider*)sender;
    float value = slider.value;
    //-- Do further actions
}


Adding to the view via [self.view addSubview:slider] AS PREVIOUS MENTIONED - is essential.

wasn't visible FOR ME at : CGRect frame = CGRectMake(0.0, 0.0, 200.0, 10.0);

You should probably drop it down a bit and maybe get it off the left margin.

perhaps? CGRect frame = CGRectMake(5.0, 10.0, 200.0, 10.0);

For ios 6 and later you should really add this to view did load as well (so you can see it - even if you lowered the frame)

  if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
  {
      self.edgesForExtendedLayout=NO;
  }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜