如何将 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 从自定义类文件中移动到某个位置的主要内容,如果未能解决你的问题,请参考以下文章