如何将 UISlider 从自定义类文件中移动到某个位置

Posted

技术标签:

【中文标题】如何将 UISlider 从自定义类文件中移动到某个位置【英文标题】:How do I move a UISlider to a postion from within custom class file 【发布时间】: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 语句,以便在触摸时查看滑块的值,并将其发送到最左边的中心或最右边的位置.

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

谢谢!

【问题讨论】:

【参考方案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; ? 在视图控制器类中

以上是关于如何将 UISlider 从自定义类文件中移动到某个位置的主要内容,如果未能解决你的问题,请参考以下文章

JFrame从自定义按钮拖动不流畅

如何从自定义类中检索 NSArray

从自定义 gradle 插件中读取 Spring Properties 文件

如何从自定义表格视图单元类中获取对表格视图控制器的引用

如何从自定义类添加对我的 Web 服务代理的引用

从自定义表格视图单元格类加载时如何调整单元格的高度?