如何在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; }