web-dev-qa-db-fra.com

Comment créer et afficher un UISlider par programme dans iOS?

J'ai trouvé le code ci-dessous dans la documentation Apple et l'a ajouté à ma méthode viewDidLoad, mais le curseur n'apparaît pas lorsque j'exécute le 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 setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
slider.value = 25.0;
39
cgossain

Vous devez ajouter le curseur dans votre hiérarchie de vues. Ajoutez [self.view addSubview:slider]; et cela devrait fonctionner.

26
Michal

 

Essayez ce code:

Créer un nouveau curseur

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

Actions du curseur

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

Ajouter à la vue via [self.view addSubview: slider] TELLE QUE PRÉCÉDENTE MENTIONNÉE - est essentielle. 

n'était pas visible POUR MOI à: CGRect frame = CGRectMake (0.0, 0.0, 200.0, 10.0);

Vous devriez probablement laisser tomber un peu et peut-être l'obtenir de la marge de gauche.

peut-être? CGRect frame = CGRectMake (5.0, 10.0, 200.0, 10.0);

Pour iOS 6 et les versions ultérieures, vous devez réellement ajouter ceci à la vue. Le chargement a également été effectué.

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