/ / UILabel az UITableCell-en belül helytelen méretű, amíg az UITableView görgetése nem történik meg - ios, object-c, uitableview, uilabel, nslayoutconstraint

Az UITableCell UILabel hibás méretű, amíg az UITableView görgetődik - ios, objective-c, uitableview, uilabel, nslayoutconstraint

Ha egy UILabel egy aAz automatikusan méretezett UITableViewCell-nek hibás a képkocka, amikor a nézet betöltődik, de az asztalra görgetve varázslatosan frissíti a címkét, így a keret helyes.

Itt van a cellán belüli címke korlátozása, itt nincs kétértelműség, így a táblázatnak automatikusan ki kell emelnie a méretet:

itt írja be a kép leírását

Én is konfigurálok egy kicsit a felhasználói felületet a kódban is, ez látható az alábbiakban:

[self.label setText:localFieldObject.value];
[self.label setDelegate:self];
[self.label setLineBreakMode:NSLineBreakByWordWrapping];
[self.label setNumberOfLines:0];
[self.label layoutIfNeeded];

Ne feledje, hogy ha megszakadok layoutIfNeededannak ellenére, hogy csak a sorok számát állította be, ez nulla. self.label értéke azonban.

Megvizsgáltam a nézet hibakeresőjét isa görgetést megelőző és utáni keretek, úgy tűnik, hogy a cella mindkét alkalommal helyesen van méretezve, de a címke kerete a cellán belül változik, de a korlátok nem változnak. Megpróbáltam különböző javaslatokat hasonló kérdésekből, de semmi sem oldotta meg a problémát.

Ha további információkra van szüksége, csak kérjen, köszönöm előre.

válaszok:

1 a válasz № 1

Hívnod kell [cell layoutIfNeeded]; a cella visszaadása előtt kényszerítse az elrendezést.

Tapasztalatom szerint próbálja elkerülni az elrendezési kód behelyezését awakeFromNib ezután felülírható, mielőtt a nézet megjelenik a felhasználónak. Általában nem kell hívnia layoutIfNeeded a cella visszaállítása előtt, de bizonyos esetekben, ahol ezt végzi, a cellForRow lenne az a hely, ahol ezt megtehetik.


Kapcsolódó kérdések


Hozzászólások (0)

Hozzászólni