Привет, я новичок IOS, пытающийся работать с табличным представлением с подробным приложением. Я использую совершенно новый macbook air и Xcode 6. Тем не менее, я постоянно замечаю, что вещи, необъяснимо исчезающие или неправильные в показе сборки. Я пробовал очистить безрезультатно.Почему элементы перестают отображаться без видимых причин?
Я не изменил приведенный ниже код для таблицы, отображающей subview, и изображение справа, но теперь отображается только голова, больше не подзаголовок или ни одно из изображений, стандартное в подвью и правильное изображение I добавлено. Является ли программа просто ошибкой или что-то влезает в мой код без моего уведомления?
Единственное, что я сделал, это отдельный контроллер детали, добавлен свойство вывода изображения и другое свойство, ни одно из которых не выдает предупреждение, но почему это испортило сцену tableviewcontroller?
Вот код для таблицы, которая работала, но теперь не отображается подтекст или изображения, хотя он отображает голову:
static NSString *protoCell = @"Cell";
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:protoCell forIndexPath:indexPath];
// Configure the cell...
cell.textLabel.text = @"head";
cell.detailTextLabel.text = @"sub";
cell.imageView.image = [UIImage imageNamed:@"pic.png"];
UIImageView *rightimage;
rightimage = [[UIImageView alloc] initWithFrame:CGRectMake(225.0,0.0,80.0,45.0)];
rightimage.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:rightimage];
rightimage.image = [UIImage imageNamed:@"pic.png"];
CGSize itemSize = CGSizeMake(40, 40);
UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[cell.imageView.image drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
cell.imageView.layer.masksToBounds=YES;
cell.imageView.layer.cornerRadius=20.0;
cell.imageView.frame = CGRectMake(20, 20, 500, 50);
return cell;
}
«Вот код для таблицы, который работал, но теперь не отображает подтекст или изображения, хотя он отображает заголовок« Так что отлаживайте его. Перед тем, как внести это изменение, верните проект обратно в исходное состояние. Или закомментируйте новый код, пока не выясните, какая разница вызывает проблему. – matt
Вы когда-нибудь удаляли «правомерность» из содержимого вашей ячейки? Если нет, вы будете добавлять другой из них каждый раз, когда ячейка повторно используется. Я не уверен, что это имеет какое-то отношение к вашей проблеме, но это потенциальная ошибка и потенциальная утечка памяти. –
Не говорите «без видимых причин».Существует ясная и простая причина. Это просто не очевидно для вас. – matt