gpt4 book ai didi

iphone - 可以像iPhone中的 "unlock slider"一样自定义UISlider吗?

转载 作者:行者123 更新时间:2023-11-28 20:16:31 26 4
gpt4 key购买 nike

我对 IOS 中的 UISliders 有疑问,您可以在多大程度上自定义它们?
我想在 iPhone 中实现类似“Unlock slider”的 slider 。
但似乎 IOS 没有提供任何“标准”方法来实现这样的 slider ?。

是否可以实现标准的 UISlider 并将其设置为最小值 (0.0) 和最大值 (0.5)。如果 slider “击中”一个大于 (0.01) 的值,它应该自动拉回到最小值 (0.0)。
如果它达到最大值 (0.5),启动一个事件然后自动拉回到最小值?

感谢所有帮助!

最佳答案

试试这个。我在我的项目中使用它

Slider.h

@class Slider;
@protocol SliderDelegate <NSObject>
@required
- (void) slideEnd;
@end
@interface Slider : UISlider
@property (nonatomic, weak) id<SliderDelegate> delegate;

slider .m

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setMinimumTrackImage:YOUR_MINIMUM_TRACK_IMG forState:UIControlStateNormal];
[self setMaximumTrackImage:YOUR_MAXIMUM_TRACK_IMG forState:UIControlStateNormal];
[self setThumbImage:YOUR_THUMB_IMAGE];
self.minimumValue = 0.0;
self.maximumValue = 1.0;
self.value = 0.0;
[self addTarget:self action:@selector(moved:) forControlEvents:UIControlEventTouchUpInside];
[self addTarget:self action:@selector(moved:) forControlEvents:UIControlEventTouchUpOutside];
}
return self;
}

- (void) moved:(UISlider *) sender
{
if (self.value != 1.0) {
[self setValue: 0 animated: YES];

} else {
[[self delegate] slideEnd];
[self setValue: 0 animated: YES];
}
}

这样实现:

[self setSlider:[[Slider alloc] initWithFrame:CGRectMake(645, 25, 120, 50)]];
[[self view] addSubview:[self slider]];
[[self view] bringSubviewToFront:[self slider]];
[[self slider] setDelegate:self];

不要忘记实现委托(delegate)方法:

- (void)slideEnd {
// Things you want to do when slide ends
}

关于iphone - 可以像iPhone中的 "unlock slider"一样自定义UISlider吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com