0

如果我没有清楚地问这个问题,我很抱歉......我对 XCode 很陌生。我会做到最好。

我正在创建一个具有三个值 1、2 和 3 的自定义 UISlider。我已经看到了有关如何将 UISlider 发送到某个位置的帖子,使用类似:

[mySlider setValue:2 animated:YES];

我的问题是,如何在 UISlider 的自定义类中执行此操作?我试过了:

[self setValue:3 animated:YES];

但这在自定义类文件中不起作用。谁能告诉我我可能做错了什么。

我基本上是在自定义类的endTrackingWithTouch中使用 if 语句,以查看触摸时滑块的值,并将其发送到最左边的中心或最右边的位置。

如果我没有提供足够的细节,或者问得不够清楚,我再次道歉。

谢谢!

4

1 回答 1

1

您正在使用自定义类?那么您是否将 IB 中的滑块设置为您的自定义类?

在此处输入图像描述

还要确保该属性设置为您的自定义滑块

@property (weak, nonatomic) IBOutlet MySliderClass *MySlider;

然后在您的自定义滑块类中,这将起作用

self.value = 1;

这是自定义滑块类

#import "MySliderClass.h"

@implementation MySliderClass

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        //[self setTheSlider];
        // these both work
        //self.value = 1;
    }
    return self;
}

- (void) setTheSlider
{
    self.value = 1;
}

@end

要从类外部设置滑块是您需要的,请将其添加到头文件中

- (void) setTheSlider;

然后从您的 viewController 执行此操作

[self.MySlider setTheSlider];
于 2013-10-16T05:17:44.917 回答