首页 > 解决方案 > 单元格导航在 TEXTVIEW 区域中不起作用

问题描述

我在 StoryBoard 中使用单元格创建了 tableView。然后在下一个视图中为导航控制器添加 segue 后,除 textView 外,所有区域都工作正常。我没有找到任何信息为什么它如此有效

在此处输入图像描述

这是我的控制器

import UIKit

class RoutesViewController: UITableViewController {

    @IBOutlet weak var datePick: UITextField!
    let datePicker = UIDatePicker()
    let date = Date()
    let routes = Route.manyRoutes
    let temp = Int.random(in: 10...100)
    //formatter.
    
    override func viewDidLoad() {
        let formatter = DateFormatter()
        formatter.dateFormat = "dd.mm.yyyy"
        datePick.text = formatter.string(from: date)
        //datePick.inputView = datePicker
        datePicker.datePickerMode = .date
        datePicker.preferredDatePickerStyle = .inline
        let toolbar = UIToolbar()

    }

    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 5
    }

    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MainCell
        let route = routes[indexPath.row]
        cell.routeDescription.text = route.text
        cell.routeNumber.text = String(indexPath.row + temp)
        cell.routeOptions.text = "\(route.length) км, \(route.time) мин"
        return cell
    }
}

和来自模拟器的屏幕

在此处输入图像描述

标签: iosswifttextviewstoryboard

解决方案


textView 正在捕获单击/点击事件,您需要禁用 textView 上的用户交互以允许单元格处理它:

textView.isUserInteractionEnabled = false
    

为了避免点击时单元格和 textView 之间的背景颜色不同,请删除 textView 背景颜色

textView.background = nil

推荐阅读