UICollection view ячейка с большой текстовой проблемой - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть ячейка с описанием (UILabel) и две кнопки после описания. Я использую это для получения высоты текста описания

    let constraintRect = CGSize(width: maxWidth, height: .greatestFiniteMagnitude)
    let boundingBox = self.boundingRect(with: constraintRect, options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: [NSAttributedStringKey.font: font], context: nil)

    return ceil(boundingBox.height)

, но проблема заключается в том, что я делаю какие-либо действия с кнопкамис огромной ячейкой описания, действия не инициированы, это очень раздражает проблему и перепробовал много решений, но ничего не помогло?

это где я установил высоту для ячеек

 override func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {


    if self.items.count < 1 {
        return CGSize(width: (self.view.bounds.width - 16), height: 200)
    }
    if indexPath.item < self.items.count {
        let item = self.items[indexPath.item]
       var h = CGFloat(0)
        h = item["description"].stringValue.height(with: (self.collectionView.bounds.width - 44), font: UIFont(name: "Helvetica", size: self.contentLabelFontSize)!)
        self.descriptionHeight = h
        if item["images"].isEmpty == false {
            if item["images"][0]["original"].stringValue != "" {
                let hi = 300
                let im_h = CGFloat(hi)
                    h += im_h
            }
        }

        if self.type == "events" {
            h += 260
        }
        else if item["type"].stringValue == "event" {
            h += 250
        }
        else {

            h += 170
        }
        let size = CGSize(width: (self.view.bounds.width - 16), height: h)
        return size
    }
    return CGSize(width: (self.view.bounds.width - 16), height: 50)
}

И вот где высота метки установлена ​​в классе PostCell:

  self.contentLabel.frame = CGRect(x: 10, y: 110, width: (self.bounds.width - 20), height: (self.bounds.height - self.imageHeight - 170))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...