【问题标题】:UI Slider display an array of StringsUI Slider 显示字符串数组
【发布时间】:2020-02-06 23:52:16
【问题描述】:

我有一个 UISlider 和一个要在 UILabel 中显示的字符串数组。尝试设置 minimumValuemaximumValue 时出现此错误 无法将“String”类型的值分配给“Float”

我是 swift 新手,我为 Ints 制作了一个滑块,但从未为 Strings 制作过滑块。

import UIKit


class PostTableViewController: UITableViewController, UINavigationControllerDelegate {

    @IBOutlet weak var ageSlider: UISlider!
    @IBOutlet weak var ageSliderLabel: UILabel!

     var ageArray = ["6 weeks", "7 weeks", "8 weeks", "9 weeks", "10 weeks", "11 weeks", "12 weeks", "13 weeks", "14 weeks", "15 weeks", "16 weeks", "17 weeks", "18 weeks", "19 weeks", "20 weeks", "21 weeks","22 weeks","23 weeks","24 weeks","25 weeks","26 weeks","27 weeks","28 weeks","29 weeks","30 weeks",]





        override func viewDidLoad() {
            super.viewDidLoad()
            let tapGesture = UITapGestureRecognizer(target: view, action: #selector(UIView.endEditing))
            view.addGestureRecognizer(tapGesture)


        }


        // MARK:Table view data source
        override func numberOfSections(in tableView: UITableView) -> Int {
            return 6
        }

        override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 1
        }
        func ageSliderInterval(){
            ageSlider.minimumValue = String("")// This is where i get the error
            ageSlider.maximumValue = String(ageArray.count)// This is where i get the error
            ageSlider.isContinuous = false
        }
        @IBAction func ageSlider(_ sender: Any) {

        }
        }

【问题讨论】:

    标签: swift


    【解决方案1】:

    你可以试试这个,

    滑块的最大值和最小值是浮点类型而不是字符串

    ageSlider.minimumValue = 0 
    ageSlider.maximumValue = ageArray.count
    

    @IBAction func ageSlider(_ sender: Any) {
    
        let currentValue = Int(sender.value)
        ageSliderLabel.text = ageArray[currentValue]
    }
    

    【讨论】:

      【解决方案2】:

      你可以试试

      ageSlider.minimumValue = 0  // check even if it's the defailt 
      ageSlider.maximumValue =  geArray.count 
      

      并更改此函数名称

      @IBAction func ageSlider(_ sender: Any) {
      

      因为它与变量名混淆

      【讨论】:

      • ageSlider.maximumValue = ageArray.count 给出了这个错误 '(Any) -> ()' 类型的值没有成员'maximumValue'
      猜你喜欢
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多