Как отобразить установленное количество строк в UITableView? - PullRequest
4 голосов
/ 01 июня 2011

Как отобразить установленное количество строк в UITableView?

Т.е. если в моем источнике данных есть только 4 объекта, то я хочу, чтобы таблица отображалась в этих 4 строках без каких-либо пустых строк. есть идеи?

спасибо!

РЕДАКТИРОВАТЬ: я не слишком ясно о вопросе, так что ...

Итак, это мой стол: http://i.stack.imgur.com/glkWZ.png .. Я хочу отображать только 3 строки, а не пустые строки под ним. Количество строк меняется в зависимости от моего источника данных. есть идеи, как это сделать?

Ответы [ 6 ]

3 голосов
/ 01 июня 2011

Думаю, вам нужно изменить внешний вид стола. После того, как вы правильно установили методы numberOfSectionsInTableView: и tableView:numberOfRowsInSection:, вам следует изменить метод viewDidLoad, добавив следующую строку:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

Таким образом вы удалите все строки из таблицы.

Если вы все еще хотите, чтобы между строками появлялась линия, я предлагаю вам создать пользовательский UITableViewCell или создать стандартный, добавив подпредставление для имитации линии. Например. как то так:

CGRect lineFrame = CGRectMake(0,cell.frame.size.height-1,cell.frame.size.width,1);
UIView *line = [[UIView alloc] initWithFrame:lineFrame];
line.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1];
[cell.contentView addSubview:line];
[line release];

Дайте мне знать, если это поможет.

3 голосов
/ 01 июня 2011

Проверьте UTableable DataSource протокол , есть два соответствующих метода, которые вы должны реализовать:

– numberOfSectionsInTableView:
– tableView:numberOfRowsInSection: 

Первый должен вернуть 1, второй 4.

2 голосов
/ 19 июня 2015

Если вы хотите сохранить заданное количество строк в табличном представлении и не отображать лишние пустые строки, вы можете вставить пустой вид нижнего колонтитула в функцию viewdidload.

self.tableview.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

1 голос
/ 01 июня 2011

Я на самом деле не понял, что вы имеете в виду под «отображать эти 4 строки без каких-либо пустых строк», но я предполагаю, что вы спрашиваете, что это просто процесс извлечения данных. Я полагаю, источником данных является NSarray.

-numberOfRowsInSection:(NSInteger)section{
  return [MyArray count];
}

-cellForRowAtIndexPath(NSIndexPath*)indexPath{
       NSInteger row=indexPath.row;
  cell.textLabel.Text=[MyArray objectAtIndex:row]
  return cell;
 }

Полагаю, вы знаете, что следует поместить в эти пробелы. Я только что написал основные моменты.

0 голосов
/ 01 июня 2011

Вы можете использовать это

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
   {
   return 4
   } 

Или вы также можете проверить протокол источника данных UITableView, вам нужно реализовать два соответствующих метода:

- numberOfSectionsInTableView:
- tableView: numberOfRowsInSection:

Первый должен возвращать 1, второй - 4.

Или вы также можете использовать GroupBy таблицу в своем представлении, изменив стиль таблицык изысканному столу.использовать

0 голосов
/ 01 июня 2011

попробуйте это

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
   {
   return 4
   }  

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

Надеюсь, это поможет вам .......

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...