使用 UISlider 更新标签中的字符串而不是 Int/Double 等
Using UISlider for updating Strings in a Label rather than a Int/Double etc
我试图让 UISlider 根据其在 "slide bar" 中的位置给我字符串值。
我要查找的是,如果 Slider 的 Int 值为 1,则 textLabel 将为 "Daily",如下所示:
1 = "Daily"
2 = "Weekly"
3 = "Monthly"
4 = "Quarterly"
5 = "Annually"
我知道使用 UIPicker 会更容易,但老实说,它会破坏应用程序的设计:(
到目前为止,这是我的代码...注意*我已经放置了 Outlet 和 Action。
@IBAction func durationAction(_ sender: UISlider) {
durationLabel.text = "\(Int(durationSlider.value))"
if durationSlider.value == 1
{
self.durationLabel.text = "Daily"
}
if durationSlider.value == 2
{
self.durationLabel.text = "Weekly"
}
if durationSlider.value == 3
{
self.durationLabel.text = "Monthly"
}
if durationSlider.value == 4
{
self.durationLabel.text = "Quarterly"
}
if durationSlider.value == 5
{
self.durationLabel.text = "Annually"
}
上面的代码只给出了第一个和最后一个位置。这显然意味着我做错了什么。
如有任何帮助,我们将不胜感激。 - 谢谢大家。
滑块的值为 Float
s。在检查之前,您应该将它们四舍五入到最接近的 Int
。如果将 String
放入数组中,则可以直接 select 它们。
@IBAction func durationAction(_ sender: UISlider) {
let intervals = ["Daily", "Weekly", "Monthly", "Quarterly", "Annually"]
self.durationLabel.text = intervals[Int(sender.value.rounded()) - 1]
}
尝试这样的事情。
@IBAction func durationAction(_ sender: UISlider)
{
let integerValue = Int(sender.value)
self.durationLabel.text = "\(integerValue)"
switch integerValue {
case 1 : print("Daily")
case 2 : print("Weekly")
case 3 : print("Monthly")
case 4 : print("Quarterly")
case 5 : print("Annually")
default : ()
}
}
我试图让 UISlider 根据其在 "slide bar" 中的位置给我字符串值。
我要查找的是,如果 Slider 的 Int 值为 1,则 textLabel 将为 "Daily",如下所示:
1 = "Daily"
2 = "Weekly"
3 = "Monthly"
4 = "Quarterly"
5 = "Annually"
我知道使用 UIPicker 会更容易,但老实说,它会破坏应用程序的设计:(
到目前为止,这是我的代码...注意*我已经放置了 Outlet 和 Action。
@IBAction func durationAction(_ sender: UISlider) {
durationLabel.text = "\(Int(durationSlider.value))"
if durationSlider.value == 1
{
self.durationLabel.text = "Daily"
}
if durationSlider.value == 2
{
self.durationLabel.text = "Weekly"
}
if durationSlider.value == 3
{
self.durationLabel.text = "Monthly"
}
if durationSlider.value == 4
{
self.durationLabel.text = "Quarterly"
}
if durationSlider.value == 5
{
self.durationLabel.text = "Annually"
}
上面的代码只给出了第一个和最后一个位置。这显然意味着我做错了什么。
如有任何帮助,我们将不胜感激。 - 谢谢大家。
滑块的值为 Float
s。在检查之前,您应该将它们四舍五入到最接近的 Int
。如果将 String
放入数组中,则可以直接 select 它们。
@IBAction func durationAction(_ sender: UISlider) {
let intervals = ["Daily", "Weekly", "Monthly", "Quarterly", "Annually"]
self.durationLabel.text = intervals[Int(sender.value.rounded()) - 1]
}
尝试这样的事情。
@IBAction func durationAction(_ sender: UISlider)
{
let integerValue = Int(sender.value)
self.durationLabel.text = "\(integerValue)"
switch integerValue {
case 1 : print("Daily")
case 2 : print("Weekly")
case 3 : print("Monthly")
case 4 : print("Quarterly")
case 5 : print("Annually")
default : ()
}
}