Search code examples
swiftuitableviewtableview

How to UITableView Click image and title


I've created a tableView, but when I click it, I don't get any results. I wanted to add a new feature to improve my project, but I couldn't add the videos I watched and the things I researched.

Table View

import UIKit

class ViewController1: UIViewController {

    @IBOutlet weak var FoodView: UITableView!
    
    let dogfoods = ["pork", "banana", "chicken-leg"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        FoodView.delegate = self
        FoodView.dataSource = self
        // not tapped no see
        FoodView.allowsSelection = false
    }
    

    
}

extension ViewController1: UITableViewDelegate, UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 120
    }
    
    
    
    
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dogfoods.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = FoodView.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell
        let dogfood = dogfoods[indexPath.row]
        cell.foodImageView.image = UIImage(named: dogfood)
        cell.nameLabel.text = dogfood
        
        return cell
    }
    
    
}

CustomCell

class CustomCell: UITableViewCell {

    @IBOutlet weak var dogView: UIView!
    @IBOutlet weak var nameLabel: UILabel!
    @IBOutlet weak var foodImageView: UIImageView!
    
    
    
    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
    }

}

When I click on one of the cells in the picture, I want to write a larger version of the picture and a description, how can I do this? When I searched on the internet, I applied similar ones, but I couldn't get any results.


Solution

  • You have a few choices. You can add one or more buttons to your custom cell. You can attach a tap gesture recognizer to your cell's content view.

    Probably the easiest way to respond to a tap on the whole cell is to have view controller conform to the UITableViewDelegate protocol and implement the tableView(_:didSelectRowAt:) method.

    That method will be called when the user selects a cell, and you would use the indexPath of the tapped cell to figure out which one was tapped and do whatever is appropriate.