【问题标题】:How do I move a UISlider to a postion from within custom class file如何将 UISlider 从自定义类文件中移动到某个位置
【发布时间】:2013-10-16 05:01:25
【问题描述】:

如果我没有明确地问这个问题,我很抱歉......我对 XCode 还是很陌生。会尽力而为。

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

[mySlider setValue:2 animated:YES];

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

[self setValue:3 animated:YES];

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

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

如果我没有提供足够的细节,或者问的不够清楚,我深表歉意。

谢谢!

【问题讨论】:

    标签: iphone ios6 uislider


    【解决方案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];
    

    【讨论】:

    • 似乎仍然无法使其正常工作。我在我的视图控制器实现文件中将该属性设置为我的自定义滑块。我的滑块设置为我的自定义类。在我的 CustomClass 中,我有方法“endTrackingWithTouch”和语句“self.value = 1;”但没有骰子……还有其他想法吗?
    • 谢谢!有没有办法从自定义类中调用 setTheSlider 函数?所以我不必为视图控制器中的每个滑块编写单独的代码行?
    • 啊...现在我明白了。谢谢!抱歉...刚刚开始使用 Objective-C
    • 另一个问题...您在哪个文件中设置属性 @property (weak, nonatomic) IBOutlet MySliderClass *MySlider; ?
    • 在视图控制器类中
    猜你喜欢
    • 2023-03-23
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多