在我的应用程序中,我有几个UISlider实例可以更改各种值.这些值显示在滑块旁边,并在应用程序另一可见部分的3d空间中渲染.

3d部分包括一些相当繁重的计算,现在似乎不可能随着滑块的变化实时更新.这意味着我必须将滑块的continuous属性设置为NO,因此只有在滑块完成更改后才能获得更新.

不过,我更喜欢displayed值的实时更新.有没有一种方法可以让滑块连续(这样我就可以实时更新我的值标签)并且在用户完成交互后仍然发送某种消息?我现在的直觉是将UISlider子类化并覆盖touchesEnded:方法.这可行吗?

推荐答案

你可以通过简单的目标/行动做到这一点.

UIControlEventValueChanged项活动设定目标和行动,然后为UIControlEventTouchUpInside项活动设定另一个目标和行动.当continuous属性设置为YES时,值更改事件将随着滑块值的更改而触发,而内部润色事件将仅在用户释放控件时触发.

Objective-c相关问答推荐

如何从 Cocoa 的 NSDictionary 中获取特定键的值?

UIAlertController:supportedInterfaceOrientations 被递归调用

在 iOS 中检测 PAN 手势的方向

将类作为参数传递?

UITableViewCell 突出显示时使标签的背景清晰

带有 IB_DESIGNABLE 的 UIButton 会引发运行时属性警告,并且不会在 Interface Builder 中呈现

isEqualTo: 和 isEqual 之间的区别:

以原子方式写入文件与不写入文件之间的区别

在 Objective-C 中访问命令行参数

我可以以编程方式滚动到 UIPickerView 中所需的行吗?

适用于 ios 的 360° 全景库

iOS:使用设备修饰符加载 xib 文件?

类在两者中都实现.将使用两者之一

Swift 3 - dynamic vs @objc

[MFMailComposeViewController canSendMail] 什么时候返回 NO

如何保存我的 iPhone 应用程序的用户首选项?

将 NSData 字节转换为 NSString?

为什么 NSOrderedSet 不继承自 NSSet?

滑动删除单元格导致 tableView 标题随单元格移动

Highlighted 和 Selected UIButton 的 State 有什么区别?