gpt4 book ai didi

ios - 编程的 UISlider 值未更改

转载 作者:行者123 更新时间:2023-11-29 05:18:43 25 4
gpt4 key购买 nike

我的代码使用编程 slider ,我想在 Xcode 的调试部分找到该值。除了“ben: 0”之外,我在调试区域没有看到任何内容。如果我将 slider 移动到右侧部分的末尾,它会显示“ben”1“,但这是我看到的唯一被更改的值。这是所有代码,因此您只需复制到您的 Xcode 项目中即可,无需 Storyboard。

import UIKit

class ViewController: UIViewController {
var move = UISlider()

override func viewDidLoad() {
super.viewDidLoad()

[move].forEach({
$0.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview($0)
})

move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}

@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)

print("ben:",currentValue)
}
}

最佳答案

首先,您需要在设置 $0.translatesAutoresizingMaskIntoConstraints = false 时为 slider 提供定位约束,例如 top 、leading 和 width ,这会使设置 frame 无效 code> 否则对其进行注释并保留 frame

第二个 slider 的 minimumValuemaximumValue 的默认值分别为 0,1,因此您需要根据需要设置它们


override func viewDidLoad() {
super.viewDidLoad()

self.view.addSubview(move)
move.minimumValue = 10
move.maximumValue = 50
move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}

@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)

print("ben:",currentValue)
}

关于ios - 编程的 UISlider 值未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58906466/

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