2013-03-20 3 views
0

я получил заявление Ios с UITableViewПользовательские пустые ячейки в UITabelView

Я настроить ячейки в этой таблице, но когда количество объектов ниже, чем видимые ячейки на экране, все остальные клетки выглядят как простое UITableViewCells.

enter image description here

Он должен выглядеть как этот

enter image description here

Как я должен настроить все клетки?

UPD Код для DataSource:

pragma mark - Table view data source 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    // Return the number of sections. 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 

    return [dataBase.showMaps count]; 

} 

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 

    return 70; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    ShowMapCell *cell = (ShowMapCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 
     cell = [[ShowMapCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    // Configure the cell... 

    ShowMap *sM = [dataBase.showMaps objectAtIndex:indexPath.row]; 

    //cell.textLabel.text = sM.name; 

    [cell initShowMapCell:sM index:indexPath.row]; 

    return cell; 
} 
+1

введите код ссылки здесь :) – iPatel

+0

Пожалуйста, разместите свой код, в частности, свой источник данных и методы делегирования для UITableView. – Tim

+0

@iPatel вы можете увидеть мой код в upd. –

ответ

0

Возможно, вы только что установили цвет фона в виде таблицы. Однако это решение не будет работать, потому что вы используете разные фоны для каждой ячейки.

Так что для достижения желаемого вам нужно добавить лишние (пустые) строки в таблицу, и для этого вам нужно вернуть свою запись + дополнительную ячейку (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section. И выше того, что вам нужно установить цвет фона в виде таблицы на один из фона ячейки, потому что если вы используете эффект подпрыгивания в представлении таблицы, вы увидите белый цвет, когда вы прокручиваете табличное представление вверх/вниз.

+0

этот вариант выглядит не очень хорошо ((но он работает –

+0

Да, это не полноценное и эффективное решение, но в этом случае оно будет работать как шарм. Рад, что он вам помогает. :) – Kunal

+0

plus this обходной путь требует, чтобы вы проверяли размер телефона, чтобы рассчитать количество отображаемых строк. Кроме того, если в нижней части есть немного ячейки, вы ничего не можете с этим поделать: если вы добавите +1 к строке быть в состоянии настроить его, вы можете включить прокрутку (что не имеет смысла в «предположительно пустой» таблице) –

0

Если вы хотите, чтобы ваш UITableView не иметь «пустые ячейки», вам нужно будет скрыть разделители ячеек и изменить цвет фона Tableview, чтобы соответствовать Вашему цветовая схема.

Как katzenhut сказал в комментариях, они не являются ячейками, они являются заполнителями для контента. Поэтому, если вы спрячете разделители и добавите их в xib-файл для вашего UITableViewCell ShowCell, они больше не будут видны, когда в таблице не будет ячейки.

Смежные вопросы