UITableView doesn't scrolling while scrolling over the cell

I created a UITableView in a UIViewController from the storyboard and create custom tableViewCell class. Now when I run my project,

  1. It is not scrolling when I touch any cell and move up/down.

  2. BUT, it scrolls if I start scrolling with the either end of UItableViewCell (nearly, 15px of left inset).

I tried to create another fresh tableView, still not working.

I tried to create a tableViewController, still not working.

Then I think the code is NOT the cause of the issue. Using Xcode 8.2.1

Below is my code work :

Class File

struct Quote {
    var text: String
}

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    @IBOutlet var tableView: UITableView?

    let cellIdentifier = "cell"

    // Array of strings for the tableView

    var tableData = [Quote(text: "zadz ad azd azds fsd gdsfsd"), Quote(text: "zakd gqsl jdwld bslf bs ldgis uqh dm sd gsql id hsqdl sgqhmd osq bd zao mos qd"), Quote(text: "azdhsqdl sb ljd ghdlsq h ij dgsqlim dhsqihdùa dbz ai ljsm oqjdvl isq dbvksqjld"), Quote(text: "dsqb jhd gs qdgsq dgsq u hdgs qli hd gsql i dgsq li dhs qij dhlqs dqsdsd.")]

    override func viewDidLoad() {

        super.viewDidLoad()

        self.tableView?.register(UITableViewCell.self, forCellReuseIdentifier: self.cellIdentifier)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        // Return number of rows in table

        return tableData.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        // Create Resusable Cell, get row string from tableData

        let cell = tableView.dequeueReusableCell(withIdentifier: self.cellIdentifier)! as! cellClass

        let row = indexPath.row

        // Set the labels in the custom cell
        cell.mainText.text = tableData[row].text

        return cell
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        // Do what you want here

        let selectValue = self.tableData[indexPath.row]

        print("You selected row \(indexPath.row) and the string is \(selectValue)")
    }  
}

And this is my cellClass: (Custom cell)

class cellClass: UITableViewCell {

    @IBOutlet weak var mainText: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }
}

Storyboard hierarchy of UITableView

main.storyboard

Upvotes: 4

Views: 1270

Answers (3)

Resolved: I had to uninstall and install Xcode again..

Upvotes: 0

dahiya_boy
dahiya_boy

Reputation: 9503

You might be have some x-code issues because generally it never happens and I run your project it working properly as usually it works.

Below is code work I have done.

I'm not taking sturcture of array like you, I'm just doing with taking simple array.

my array is

arrayData = ["One", "Two", "three", "four"]

below is cellForRow

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell : cellClass = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! cellClass
    cell.lblstates.text = arrayData[indexPath.row]
    return cell
}

If you facing any issue then let me know.

Upvotes: 1

Habib Ali
Habib Ali

Reputation: 280

Check if the user interaction Enabled check of your cell is off or not in the storyboard

Upvotes: 0

Related Questions