如何在iOS中以编程方式创build和显示UISlider?

我在苹果文档中find了下面的代码,并将其添加到了我的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]; 它应该工作。

试试这个代码:

创build一个新的滑块

 -(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]添加到视图如前所述 – 是必不可less的。

对我来说是不可见的: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; }