从子CollectionViewCell访问父tableViewCell

时间:2018-07-18 07:27:47

标签: ios swift uitableview uicollectionview jtapplecalendar

enter image description here

图像描述一个tableViewCell。在一个tableViewCell里面有一些内容和一个CollectionView(灰色区域显示日期)。 根据收集视图中的日期及其滚动,我必须显示年和月(“ 2018年12月”:图像中为静态)。

这是我的JTAppleCalender cellForItemAt方法:

   func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {

        let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "CalenderCell", for: indexPath) as! CalenderCell

        cell.lblDate.text = cellState.text
        formatter.dateFormat = "EEE"
        cell.lblDay.text = formatter.string(from: cellState.date)

        formatter.dateFormat = "MMMM YYYY"
        print(formatter.string(from: cellState.date))

        formatter.dateFormat = "dd-MM-yyyy"
        print(formatter.string(from: cellState.date))

        if(pickup_dates .contains(formatter.string(from: cellState.date))){
            let index = pickup_dates.index(of: formatter.string(from: cellState.date))
            let dictinfoDelivery = self.infoDelivery.object(at: index) as! NSDictionary
            cell.lblPrice.text = dictinfoDelivery .value(forKey: "total_price_format") as? String
            cell.isUserInteractionEnabled = true
        }
        else{
            cell.lblPrice.text = ""
            cell.isUserInteractionEnabled = false
        }

        return cell
    }

我正在尝试从此方法内部访问tableView标签(“ December 2018”),但无法这样做。 如何从子collectionViewCell访问此TableViewCell标签? 我的要求是更改TableViewCell(价格,数量)中的2-3个内容,并在子CollectionView中选择日期。

1 个答案:

答案 0 :(得分:1)

请尝试

  guard  let lbl = (self.yourTableView.cellForRow(at: [NSIndexPath(row: 0, section: 0) as IndexPath]) as! yourCellNameInTableView).labelName else {
        return
   }
  lbl.text = "Your text"

请传递您的行号和部分号。可能会对您有所帮助。谢谢