Когда знать размер содержимого UITableView - PullRequest
2 голосов
/ 29 ноября 2011

Я хочу добавить подпредставление в конец моего UITableView, и для этого мне нужно знать свойство contentSize табличного представления. Но я думаю о лучшем способе сделать это, я имею в виду, когда, каким способом; когда я создаю табличное представление, я все еще не знаю, сколько ячеек будет иметь.

Так могу ли я сделать это в numbersOfRowsInSections? Или было бы более целесообразно сделать это в cellForRowAtIndexPath, спрашивая делегата, является ли это последней ячейкой, и добавляя его в этот момент, только в первый раз.

Если tableView просто добавляется как подпредставление, viewWill / DidAppear не будут вызываться, поэтому ни один из них не является реальным выбором.

ОБНОВЛЕНИЕ : Я должен пояснить (согласно первым ответам), что он должен быть ниже таблицы, но в таблице, а не в superView, и не хочет использовать нижний колонтитул, он должен быть добавленным подпредставлением. И я знаю, как получить contentSize, я спрашиваю себя, где лучше всего справиться с этим.

ОБНОВЛЕНИЕ 2 : Я уже сказал это, отвечая на комментарий ниже, но я думаю, что я также должен поместить это здесь, потому что это вызывает понижающие голоса. Мне просто наплевать на нижний колонтитул. Здесь не вопрос нижнего колонтитула, я не хочу его использовать, и я уже узнал, как добавить подпредставление вручную. Я просто спрашиваю, как говорится в названии вопроса, в какое время, каким способом лучше запрашивать contentSize табличного представления.

Ответы [ 5 ]

4 голосов
/ 29 ноября 2011

Назначьте представление, которое вы хотите разместить в нижней части таблицы, свойству tableFooterView таблицы.

2 голосов
/ 28 марта 2012
-(float)getTableViewHeight
{
[self.tableView layoutIfNeeded];
return self.tableView.contentSize.height;
} 

Я думаю, что это тебе нужно.

2 голосов
/ 29 ноября 2011

UITableView имеет свойство tableFooterView http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

Я думаю, что установка этого свойства с вашей точки зрения делает именно то, что вы хотите

1 голос
/ 29 ноября 2011
try this one
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{

//you can add your view in this method. with return key
//like
return view;

}
0 голосов
/ 29 ноября 2011

Вы можете получить код, указанный ниже

NSLog(@"%f",YourTableObject.contentSize.height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...