2016-07-30 11 views
0

Ich muss eine benutzerdefinierte Fußzeile für einen Abschnitt innerhalb einer Tabellenansicht erstellen. Die Fußzeile enthält einen Text (Label) und eine Schaltfläche darunter.IOS-Abschnitt Fußzeilenhöhe basierend auf Inhalt

Das Problem ist, dass der Text eine unterschiedliche Länge in verschiedenen Sprachen hat. Wie kann ich die Fußzeile mit einer dynamischen Höhe basierend auf dem Inhalt des Labels erstellen?

Thx!

Antwort

0

Sie können die Höhe der Fußzeilenansicht ermitteln, indem Sie die geschätzte Größe der Beschriftung gemäß dem darin enthaltenen Text berechnen, die Höhe der Schaltfläche hinzufügen und möglicherweise einen weiteren kleinen Wert für die Auffüllung hinzufügen.
Hier ist ein Swift Beispiel:

let theLabelFont = UIFont.systemFontOfSize(FONTSIZE) 
let labelRect = (yourLabelText as NSString).boundingRectWithSize(CGSizeMake(LABEL_WIDTH, CGFloat.max), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName:theLabelFont], context: nil) 

let footerHeight: CGFloat = labelRect.height + (YOUR_BUTTON).frame.height + somePaddingValue 

Dann bringen Sie ihn einfach in der heightForFooterInSection: Methode.

Verwandte Themen