当 UISlider 动画时触发 UIControlEventValueChanged 吗?

发布于 2024-09-01 06:56:04 字数 727 浏览 8 评论 0原文

我已将 UISlider 设置为响应值更改事件:

[customSlider addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged];
[customSlider addTarget:self action:@selector(sliderStart:) forControlEvents:UIControlEventTouchDown];
[customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpInside];

我想将滑块动画到用户上次使用视图时离开的位置。我这样做是:

[customSlider setValue:position animated:YES];

一切工作正常,除了,我构建了一个悬挂在滑块“旋钮”上方的“标签”,以便用户在移动滑块时可以看到值。 “标签”的位置是在 UIControlEventValueChanged 调用“sliderMove”方法时设置的。

使用[slider setValue:positionanimated:YES]时,滑块会移动,但事件不会触发。

是否有我可以联系的代表或涵盖此场景的活动?

感谢您提供的任何帮助:)

I have set my UISlider up to respond to value changed events:

[customSlider addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged];
[customSlider addTarget:self action:@selector(sliderStart:) forControlEvents:UIControlEventTouchDown];
[customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpInside];

I would like to animate the slider to the position where the user left it the last time the view was used. I do this with:

[customSlider setValue:position animated:YES];

Everything works fine, except, I have build a "tag" that hangs over the sliders "knob" so the user can see the value when moving the slider. The position of the "tag" is set when the UIControlEventValueChanged calls the "sliderMove" method.

When using the [slider setValue:position animated:YES] the slider moves, but the event does not fire.

Is there a delegate I can get to or an event that covers this scenario?

Thanks for any help given:)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

茶花眉 2024-09-08 06:56:04

听起来像是一个错误,请尝试通过

[slider sendActionsForControlEvents:UIControlEventValueChanged];

在以编程方式设置值后立即调用来解决此问题。

Sounds like a bug, try to workaround this by calling

[slider sendActionsForControlEvents:UIControlEventValueChanged];

right after you set the value programmatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文