在 Objective C 中为 UISlider 创建没有 Storyboard 的 Outlet 和 Action
Create Outlet and Action without Storyboard for UISlider in Objective C
我在主文件中创建了一个 UISlider 作为 属性,我想在他的 valueDidChange 时执行一些操作。
我的 UISlider 不在 Xib 文件中,如何在没有 CTRL + 拖动的情况下创建 valueDidChange 操作?
您调用 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
并指定 UIControlEventValueChanged
作为控制事件。
正在创建滑块:
-(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
}
您只需在视图控制器中添加以下代码行。
[yourslidername addTarget:self action:@selector(sliderValueChangedMethodcall:) forControlEvents:UIControlEventValueChanged];
- (IBAction)sliderValueChangedMethodcall:(UISlider *)sender {
NSLog(@"slider value change= %f", sender.value);
}
我在主文件中创建了一个 UISlider 作为 属性,我想在他的 valueDidChange 时执行一些操作。
我的 UISlider 不在 Xib 文件中,如何在没有 CTRL + 拖动的情况下创建 valueDidChange 操作?
您调用 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
并指定 UIControlEventValueChanged
作为控制事件。
正在创建滑块:
-(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
}
您只需在视图控制器中添加以下代码行。
[yourslidername addTarget:self action:@selector(sliderValueChangedMethodcall:) forControlEvents:UIControlEventValueChanged];
- (IBAction)sliderValueChangedMethodcall:(UISlider *)sender {
NSLog(@"slider value change= %f", sender.value);
}