ios - 无法在 iOS 中使用 slider 显示乘法表

标签 ios swift uitableview

下面是我在 Xcode 中编写的用于在调整 slider 时显示乘法表的代码; slider 设置的最小值为 0.05,最大值为 1。项目中有一个 TableView 和 slider 。我添加了打印语句来调试代码。当我最后将 Table1.Reload() 添加到 sliderChanged 函数时,我得到了 2 的乘法表,但是当我调整 slider 时它没有改变。 slider 值被击中。但是,一旦我删除重新加载方法, slider 值就会正确更改,但乘法表会敲到 0。

import UIKit
class ViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {
  //  var cellcontent[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
    var cellcontent = [Int](repeating: 0, count: 50 )
    var countr=50
    var count:Float=0.0
    var count2:Int=0
    var i=0
    var j=0
    internal func multiply(){
    print("check1")
        while j<50{
        // print(i)
            i+=1
          //  yourArray.insert("Hey, I'm first!", atIndex: 0)
            cellcontent[j] =  i*count2
           // cellcontent.insert(cellcontent[j],at:j)
    print(cellcontent[j])
            j=j+1
        }
    }

    internal func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return cellcontent.count
    }

    internal func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell=UITableViewCell(style:UITableViewCell.CellStyle.default,reuseIdentifier: "cell")
        //   cell.textLabel?.text="Top row"
     //   print("c")
        //multiply()
        cell.textLabel?.text=String(cellcontent[indexPath.row])
        return cell


    }
    @IBOutlet weak var slider: UISlider!

    @IBOutlet weak var Table1: UITableView!

    @IBAction func sliderChanged(_ sender: Any) {
        //slider.maximumValue=Float(Int(countr))
        count=(slider.value*20)
        count2 = Int(round(count))
        print(count2)
        print(count)
    multiply()
    //     Table1.reloadData()
    }


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }



}

最佳答案

欢迎来到SO!我用 Table1.reloadData() 注释掉了你的代码,发现你的代码有一个非常基本的错误:
在函数 multiply() 中,您有一个 while 循环递增 j 直到它是 50,并将数据源的内容设置为此值(value)。一旦 j 达到 50,就不会再有任何变化。
因此,您必须更正循环以显示所需内容。

关于ios - 无法在 iOS 中使用 slider 显示乘法表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54872450/

相关文章:

iphone - 为什么我的 UIView 子类在调用 setNeedsDisplay 后没有重绘?

ios - 在处理上一个时接收另一个远程通知操作

ios - 在字符串中添加空格

swift - 变量仅用于在单元测试中保持实例处于事件状态,并收到 "only written to but never read"警告

ios - CLLocationManager:allowDeferredLocationUpdates - 不断获取操作无法完成。 (kCLErrorDomain 错误 11。)

iphone - 通过 UITableView 设置菜单

ios - UITableViewDelegate 方法的确切顺序是什么 - 奇怪的行为

ios - 如何获取CollectionViewCell的UITextView高度

ios - Cocoapods 和 fork 项目 (AFOauth2Client)

ios - Swift Playground - "Use of unresolved identifier ' myClass'"但仍然可以编译