Я новичок в Objective-C и Xcode. Раньше я писал программы C, поэтому я сталкиваюсь с множеством проблем с помощью Xcode.Как реализовать табличное представление внутри пользовательской ячейки таблицы?
Теперь я пишу приложение, подобное «instagram», которое показывает изображение и связанные комментарии. Все эти изображения и комментарии взяты из базы данных, что не важно в моем вопросе.
Итак, пожалуйста, взгляните на мой дизайн. Click me
Это «настройка одной ячейки», при которой приложения будут показывать разные изображения и комментарии при прокрутке вниз и отображать другие ячейки.
Во-первых, я создаю UITableViewController
, затем я увеличиваю ячейку просмотра таблицы на весь вид. И я добавляю UIImageView
и табличный вид «на» ячейку, таким образом, это настраиваемая ячейка.
Затем я создаю класс UITableViewCell
для реализации этой пользовательской ячейки. Я ищу и обнаружил, что я могу добавить подвид в этом UITableViewCell
классе, чтобы показать UIImage
в моей пользовательской ячейке, как:
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(cell.contentView.frame.origin.x, cell.contentView.frame.size.height, 20, 20)];
imageView.image = [UIImage imageNamed:@"Icon.png"];
[cell.contentView addSubview:imageView];
Но я не могу понять, как добавить UITableView
как подвид моей пользовательской ячейки , Скажем, я могу добавить код
[cell.contentView addSubView:tableView] ;
на мой пользовательский класс клеток, но там, где я могу конфиг содержимое ячейки этого встроенного TableView
? Таким образом, этот метод:
-(UITableViewCell *) tableView:(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath ;
Так, может кто-то подскажет, как можно достичь этого? Или есть другой подход, который может достичь цели? Спасибо за помощь.
Во-первых, спасибо за ответ. Но я не совсем понимаю «С вашего основного представления, когда вы создаете экземпляр этой настраиваемой ячейки, также задайте источник данных для вашей таблицы комментариев», где я должен добавить источник данных и делегат из «внутреннего» табличного представления? –
В вашем пользовательском классе ячейки. Вы можете добавить протокол UITableViewDelegate в свой собственный файл класса .h и внести в него cellForRowAtIndexPath и другие методы делегата. – HRM
Можете ли вы привести мне пример? Это значит, что у меня может быть несколько делегатов tableview и datasource, например cellForRowAtIndexPath, в одном отдельном файле класса .h? –