滑块视图问题



我正在尝试制作一个usislider/slider,但我不知道为什么它会出现问题。下面是代码片段:

.h =

@interface sliderViewController : UIViewController {
    IBOutlet UISlider *mySlider;
}
@property (nonatomic) float Value;
@property (nonatomic) float minimumValue;
@property (nonatomic) float maximumValue;
@property (nonatomic, getter=isContinuous) BOOL continuous;

@end

。M =

@implementation sliderViewController
@synthesize minimumValue;
@synthesize maximumValue;
@synthesize Value;
@synthesize continuous;
    CGRect rect = CGRectMake(10, 60, 200, 30);
    mySlider = [[UISlider alloc] initWithFrame:rect];
    [mySlider addTarget:self 
                 action:@selector(sliderValueChanges) 
       forControlEvents:UIControlEventValueChanged];
    mySlider.backgroundColor = [UIColor clearColor];
    mySlider.minimumValue = 0.0;
    mySlider.maximumValue = 10.0;
    mySlider.continuous = YES;
    mySlider.value = 5.0;
    [theView addSubview: mySlider];
}
- (void)sliderValueChanges:(id)sender{
    UISlider *slider = sender;
    if (mySlider==slider) {
        printf("Value of slider is %fn", [mySlider value]);
    }
}
@end

UISlider对象定义为IBOutlet意味着您将通过interface Builder将该ivar连接到接口中的UISlider。是你做的吗?如果没有,那就可以解释为什么在UI中改变滑动条的值实际上没有做任何事情。

另外,当您在Interface Builder中将IBOutlet变量连接到匹配的UI元素时,不需要在您的代码中创建对象。通过在NIB文件中定义,它已经被"创建"了。

问题是你调用这个方法(sliderValueChanges)的方式。而不是像那样调用它,请调用它像(sliderValueChanges:)。它工作得很好!

相关内容

  • 没有找到相关文章

最新更新