ios - 在 Xcode 上创建重复的 outlets/actions

标签 ios swift xcode uislider ibaction

我目前在我的 viewcontroller.swift 上有三个单独的 slider ,我希望它们都执行相同的功能,即将 slider 值四舍五入到最近的位置。我已经完成了第一个,因此:

@IBAction func changePos(_ sender: UISlider) {
    slider.value = roundf(slider.value)
}

我尝试了很多不同的方法,通过使用 slider2、changePos2 等 将相同的功能添加到不同的 UISlider,但我的应用要么崩溃,要么不执行该功能。

如何让不同的 UISlider 在同一个 View Controller 中执行相同的功能?

最佳答案

您可以将所有 3 个 slider 挂接到相同的 @IBAction。只需在实现中使用 sender 参数而不是 slider 输出即可。

@IBAction func changePos(_ sender: UISlider) {
    sender.value = sender.value.rounded()
}

关于ios - 在 Xcode 上创建重复的 outlets/actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46634102/

相关文章:

swift - 如何在 Swift5 中使用 ObjectMapper 映射 Alamofire 5.2 响应

Xcode 7 崩溃符号与 Mac App Store 上的 OS X 应用程序

ios - IBDesignable View 导致无休止的重建

iphone - 努力使用界面生成器来设置我的应用程序布局

ios - 如何在 NSDocumentsDirectory 中隐藏文件夹并禁止通过 iTunes 和 iCloud 进行备份

ios - Swift 对 Java 的 Runnable 的模拟

ios - 什么是 UITabBarItem *item = [self.tabBar.items objectAtIndex :1]; in swift?

ios - 自定义类型Core Data属性问题

swift - 使用协议(protocol)切换通用数值函数

iphone - 如何在不使用仪器的情况下查找 iphone 应用程序中的内存分配和泄漏?