Po nastavení rozvržení konstanty pro štítek přestane fungovat

hlasů
0

Mám zobrazení tabulky s automaticDimension na výšku i 2 buněk. Jedna buňka má Čtěte více tlačítko, které aktualizuje rozložení omezení konstantu pro štítek (jako IBOutlet). To funguje dobře a aktualizace výška buňku v závislosti na výšce etikety, ale při pokusu o aktualizaci poprvé layout vazby na cellForRowAt metoda delegáta to funguje, ale poté, co že to přestane fungovat od tlačítka číst více (a výstupem layout s omezujícími podmínkami Nemá ‚t stát nil).

    if cellType == .movie {
        let movieCell = cell as! MovieDescriptionCell
        movieCell.updateCellWith(movie: selectedMovie!)
        movieCell.infoLabelHeight.constant = 200. ***(here is the problem, if I don't have this the read more button works)***
        movieCell.readMorePressedBlock = { [weak self] (tag) in
            guard let strongSelf = self else { return }
            DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(70), execute: {
                strongSelf.tableView.reloadData()
            })
        }
    } 


@IBOutlet var infoLabelHeight: NSLayoutConstraint!


  @IBAction func onReadMoreButton(button: UIButton) {
    self.readMoreState = !self.readMoreState
    setReadMoreImageFor(state: readMoreState)

    let infoText = self.infoLabel.text
    let expectedHeight = infoText?.height(withConstrainedWidth: infoLabelWidth.constant, font: self.infoTextFont) ?? self.infoDefaultHeight

    self.infoLabelHeight.constant = self.readMoreState ? expectedHeight : self.infoDefaultHeight

    readMorePressedBlock?(button.tag)
}

Jak mohu, aby to fungovalo? Mám-li odstranit řádek „movieCell.infoLabelHeight.constant = 200“ pro čtení další tlačítko funguje, ale musím nastavit konstantu zpočátku příliš.

Dík.

Položena 27/11/2018 v 17:50
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Našel jsem řešení, když jsem nastavit rozložení omezení ve způsobu awakeFromNib čtení Tlačítko Další stavební práce (možnost opět změnit omezení)

override func awakeFromNib() {
    super.awakeFromNib()

    self.infoLabelHeight.constant = 200
}
Odpovězeno 28/11/2018 v 09:09
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more