#ios #objective-c #uitableview #cocoa-touch
#iOS #objective-c #uitableview #cocoa-touch
Вопрос:
Итак, отображается правильное количество строк. При нажатии на любую строку выполняется правильное действие. Однако самих ячеек нигде не видно.
Я добавил NSTimer
в
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
для каждой ячейки, просто чтобы вывести ее за пределы функции — все они говорят, что их superview равен рассматриваемому tableview (и не равен нулю, поэтому я не проверяю nil == nil
или что-то в этом роде).
Все они содержат метки с правильным текстом.
Прорисовываются разделительные линии…. Если я изменю фон TableView, фон всей видимой области будет отображаться этим цветом.
Я проверяю, что каждая ячейка не скрыта и не установлена в альфа-значение 0.
Есть ли что-нибудь еще, чего я мог не хватать?
Ответ №1:
Вы загружаете свои ячейки из файла nib или создаете программно?
Вы накладываете другой объект на свою ячейку в подвиде ячейки? Возможно, это скрыто в подвиде; я не могу сказать, поскольку вы еще не опубликовали никакого кода. Учитывая предоставленную вами информацию, трудно определить, почему вы не можете видеть фоновый вид ячеек.
Попробуйте изменить цвет с помощью
UIView *tmpView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
tmpView.backgroundColor = [UIColor blackColor];
myCell.backgroundView = tmpView;
Похоже, вы установили фоновое изображение вашей ячейки в [UIColor clearColor].
Комментарии:
1. Я понятия не имею, что произошло, на самом деле я устанавливал цвет фона на [UIColor grayColor], и никакой разницы не появилось. Я вручную установил шрифт для метки, и внезапно все заработало правильно. Я предполагаю, что по какой-либо причине шрифт, указанный в указателе, был недействительным и при загрузке из указателя происходил сбой? Однако это не полностью отвечает на мои опасения…