2014-09-17 6 views
5

Podczas tworzenia aplikacji dla systemu iOS 8 w Xcode 6, w jaki sposób ustawić opcję UITableView na rowHeight na UITableViewAutomaticDimension?Ustaw wiersz UITableViewHighight do UITableViewAutomaticDimension w storyboardie?

W WWDC 2014 Session 226 "What’s New in Table and Collection Views" głośnik mówi, że UITableViewAutomaticDimension jest nową domyślną wartością dla programowo utworzonych widoków tabel "rowHeight. Wspomina jednak również, że w czasie sesji nie jest tak w przypadku widoków tabel załadowanych z xib/storyboard.

Teraz, Xcode 6 GM jest obecnie, w jaki sposób ustawić tę wartość w serii ujęć, bez konieczności dodawania

self.tableView.rowHeight = UITableViewAutomaticDimension; 

w moim viewDidLoad?

Odpowiedz

8

Po przetestowaniu różnych wartości w serii ujęć, rozwiązaniem jest po prostu zachować wartość domyślną 44pt w Wysokość wiersza:

44pt row height

Co to prawdopodobnie oznacza to, że nie można mieć stałą wysokość komórki 44 pensów są już ustawione w scenorysie. Będziesz musiał ustawić programowo w viewDidLoad lub w innym miejscu.

Na koniec zauważ, że aktualnie nie można ustawić w żadnym miejscu scenorysu zestawu estimatedRowHeight, a jeśli nie zostanie ustawiony programowo, domyślnie będzie to 0. (edycje mile widziane, jeśli okaże się, jak to zrobić)


można przetestować zachowanie samodzielnie 44pt logując wartości w viewDidLoad:

NSLog(@"%f", UITableViewAutomaticDimension); 
NSLog(@"%f", self.tableView.rowHeight); 

Z Wysokość wiersza ustawionym na 44 ten produkuje :

-1,000000

-1,000000

Z Wysokość wiersza ustawiony na inną wartość (tutaj 45pt):

-1,000000

45,00000

+2

To ryzykowną decyzję, aby stać się '44' 'UITableViewAutomaticDimension', złamie trochę aplikacji. Szukałem potwierdzenia tego, ponieważ podejrzewałem, dzięki. – DeFrenZ

+1

@DavideDeFranceschi Zgadzam się. Mogę złożyć radar, gdy mam czas, jeśli to się nie zmieni w Xcode 6.1. –

Powiązane problemy