GOOGLE ADS

Montag, 11. April 2022

Warum akzeptiert die Eigenschaft UITableView.tableHeaderView beim Ändern der Rahmenhöhe nur einen Wert ungleich Null?

Kann mir jemand sagen, warum die Eigenschaft von UITableView tableHeaderViewnur Werte ungleich Null akzeptiert?

Ich versuche, den Höhenwert der tableHeaderViewEigenschaft meiner UITableView zu ändern, um den oberen Rand zu verengen.

Unten ist die Art und Weise, wie ich mich näherte.

Wenn Sie den Wert der Eigenschaft height von tableHeaderView in UITableView auf 0 setzen, würde der obere Rand tatsächlich entfernt

Es hat sich jedoch nichts geändert, wenn der Code wie unten angewendet wird.

//UIView has the tableView property for its one of sub views
tableView.tableHeaderView = UIView(frame: CGRect(origin:.zero, size: CGSize(width: 0, height: 0)))

Ich habe online danach gesucht und eine Erklärung in der Apple-Referenz
Geben Sie hier die Bildbeschreibung ein gefunden
. Es scheint, als würde die Eigenschaft tableHeaderView nur einen Wert ungleich Null für ihre Änderung akzeptieren. Also habe ich einfach den Wert für die Höheneinstellung auf gesetzt CGFloat.leastNormalMagnitudeund es hat einfach funktioniert.

tableView.tableHeaderView = UIView(frame: CGRect(origin:.zero, size: CGSize(width: 0, height: CGFloat.leastNormalMagnitude)))

Der Punkt, auf den ich neugierig bin, ist, dass ich immer noch nicht verstehen kann, warum Nullwert und leastNormalMagnitudeWert einen Unterschied machen. Sollte das Festlegen des Rahmenhöhenwerts auf 0 nicht tatsächlich die UIView auf dem Bildschirm entfernen?


Lösung des Problems

Aus dem, was ich in Apple doc sehe:

Wenn Sie dieser Eigenschaft eine Ansicht zuweisen, legen Sie die Höhe dieser Ansicht auf einen Wert ungleich Null fest.

Es gibt kein Warum. Es ist einfach so.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...