W aplikacji Apple iPhone Clock, gdy użytkownik doda nowy alarm, pojawi się widok modalny. Próbuję utworzyć interfejs podobny do tego.Nie można zmienić wysokości UITableView
Aktualnie mam kontroler UITableViewController jako kontroler widoku głównego kontrolera UINavigationController.
Mam też UIDatePicker dodany jako podrzędny do UINavigationController:
[self.navigationController.view addSubview:mydatePicker];
Jednak mam około 10+ wierszy w moim UITableView (to z UITableViewController) i jak tylko dodałem UIDatePicker I nie można przewinąć, aby wyświetlić wszystkie komórki.
Zdałem sobie sprawę, że rozmiar UITableView jest taki sam, jak przed dodaniem UIDatePicker, i dlatego musiałbym zmienić jego rozmiar, aby móc przewijać, aby zobaczyć wszystkie komórki tabeli.
Próbowałem kilku rzeczy, aby zmienić jego rozmiar, wszystko bezskutecznie. W poniższym kodzie arbitralnie wybrałem 50 dla nowej wysokości.
Najpierw próbowali zmienić wysokość bounds:
CGRect bounds = [self.tableView bounds];
[self.tableView setBounds:CGRectMake(bounds.origin.x,
bounds.origin.y,
bounds.size.width,
50)];
Potem próbował zmienić wysokość ramy:
CGRect tvframe = [self.tableView frame];
[self.tableView setFrame:CGRectMake(tvframe.origin.x,
tvframe.origin.y,
tvframe.size.width,
50)];
Następnie po googlowania kilka próbowałem zmieniając wysokość contentSize:
CGSize thesize = self.tableView.contentSize;
thesize.height = 50;
self.tableView.contentSize = thesize;
Żadne z nich nie miało żadnego wpływu na rozmiar UITableView. Nadal nie mogłem przewinąć, aby zobaczyć wszystkie komórki.
Później wypróbowałem niektóre z tych samych metod co powyżej, ale na UINavigationController zamiast UITableView. Nie miałem też szczęścia w tym.
W ostateczności próbowałem zmienić rozmiar UITableView w edytorze scenorysów. Nie mogłem tego rozgryźć.
Dziękujemy za pomoc.
Czy używasz kontrolki UITableViewController? Użycie zwykłego interfejsu UITableView w niestandardowym kontrolerze UIViewController zwykle sprawia, że mniej dziwactw do wykonania. – Kekoa
Tak, używam UITableViewController (faktycznie mam niestandardową klasę, która dziedziczy/implementuje UITableViewController). Zaktualizuję wpis, aby to odzwierciedlić. – dtmland