2015-08-08 2 views
0

Я использовал простую ячейку прототипа из раскадровки для добавления вида заголовка в мой табличный вид. Я добавил несколько ярлыков в ячейку и дал конкретный тег каждой метке, но при обращении к ней возвращает значение nil для метода [cell viewWithTag:]. (Я не создал пользовательский класс для ячейки). Я использую следующий метод:UITableViewCell для headerview не загружает подзаголовки из раскадровки

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UITableViewCell * headerView = [tableView dequeueReusableCellWithIdentifier:@"HeaderView"]; 

    UILabel * lblVenueName = (UILabel *)[headerView viewWithTag:100]; 
    lblVenueName.text = @"Test Venue"; 

    return headerView; 
} 

для кода выше значение lblVenueName всегда возвращает ноль.

+0

Вы должны проверить, возвращает ли 'dequeueReusableCellWithIdentifier' объект, или если вам нужно создать новый. –

ответ

0

Я столкнулся с этой проблемой в XCode 7.0 бета 5 (7A176x). Полагаю, это ошибка. Я проверил в отладчике и выяснил, что у содержимого cellView нет подфундаций во время выполнения. Если вы проектируете определенный размер экрана, это обходное решение может вам помочь. Переход к базовым ценностям, как это: Screen size checking screenshot

Затем в атрибутах инспектора проверить, что оба «установленные» варианты проверяются на все виды, которые вам нужны, и их superviews (например, для всех представлений в прототипе ячейке, табличные и это SuperView):

Screenshot of "installed" options

После этого вы можете вернуться к определенному размеру экрана и viewWithTag() будет возвращать правильные значения.

+0

Большое спасибо, это действительно работает для меня – user3417374

0

(ID) dequeueReusableCellWithIdentifier: (NSString *) Идентификатор

Возвращаемое значение

UITableViewCell объект с идентификатором или ассоциированного ноль, если такой объект не существует в очереди многоразовые-клеток.

Таким образом, я предполагаю, что метод возвращает NIL для вас :) Попробуйте версию, которая принимает indexPath :)

+0

На самом деле я получаю объект HeaderView из метода dequeueReusableCellWithIdentifier :, но [headerView viewWithTag: 100] возвращает мне метку nil. – user3417374

+0

Можете ли вы напечатать иерархию представлений для headerView? :) – sloik

+0

Вы можете ввести консоль: 'po [headerView recursiveDescription]' – sloik

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