Подтвердить что ты не робот

Как я могу создать и отобразить UISlider программно в iOS?

Я нашел код ниже в документации 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;
4b9b3361

Ответ 1

Вам нужно добавить слайдер в свою иерархию представлений. Добавьте [self.view addSubview:slider]; и он должен работать.

Ответ 2

Попробуйте этот код:

Создать новый слайдер

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

Ответ 3

Добавление в представление через [self.view addSubview: слайдер] AS ПРЕДЫДУЩИЕ МЕРЫ - важно.

не было видно FOR ME: CGRect frame = CGRectMake (0.0, 0.0, 200.0, 10.0);

Вероятно, вы должны немного отбросить его и, возможно, получить его с левого края.

может быть? CGRect frame = CGRectMake (5.0, 10.0, 200.0, 10.0);

Для ios 6 и более поздних версий вы действительно должны добавить это для просмотра, загрузили также (так что вы можете видеть это - даже если вы опустили рамку)

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