Ich habe eine UIView
in. xib
Datei, die ich zur Laufzeit laden und als tableHeaderView von UITableView
setzen. Ich habe eine UILabel
in meiner XIB-Datei, die dynamisch mit festen UIButton
unten wachsen kann.Dynamische UITableViewHeader View mit Label
Wenn ich die Breite UILabel
auf feste Breite einstellen, funktioniert es.
Wenn ich die führende gesetzt/Nachgestellte auf UILabel
dann funktioniert es nicht :(
ich den Code unten bin mit der Höhe von headerView zu handhaben
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
// Dynamic sizing for the header view
if (table.tableHeaderView) {
UIView *headerView = table.tableHeaderView;
float height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect headerFrame = headerView.frame;
// If we don't have this check, viewDidLayoutSubviews() will get
// repeatedly, causing the app to hang.
if (height != headerFrame.size.height) {
headerFrame.size.height = height;
headerView.frame = headerFrame;
table.tableHeaderView = headerView;
}
}
}
Jeder kann erklären, warum die führende/traili setzen ng funktioniert nicht? My Ansicht mit Einschränkung ist, wie (ohne feste Breite):
Haben Sie numberOfLines = 0 für Label gesetzt? –
Offensichtlich funktioniert es. Fügen Sie zuerst Ihre Einschränkungen hinzu, dann können wir nur das Problem identifizieren. –
können Sie Ihren vollständigen Code anzeigen? –