Я пытаюсь создать довольно простое приложение, хотя я застрял в одной и той же проблеме в течение нескольких дней ... I ' м с использованием раскадровки, и мой текущий настрой: storyboardiOs - Использование контейнера, вида таблицы и подробного представления - Как сохранить подробный вид внутри контейнера
Моя цель - сохранить все в «Контроллере просмотра проекта» так же, за исключением того, что происходит внутри контейнера. «Просмотр таблицы комментариев» отображается в моем контейнере, но при нажатии на ячейку в представлении таблицы «Просмотр комментариев» охватывает весь экран (обратите внимание, что в раскадровке он наследует размер правильно). Это как мой «prepareForSegue» выглядит (я попытался фиксируя размер экземпляра до размера Tableview):
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"showComment"]){
CommentShowViewController *csvc = [segue destinationViewController];
[[csvc view] setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height)];
NSIndexPath *path = [commentsTable indexPathForSelectedRow];
Comment *c = [aCommentsList objectAtIndex:[path row]];
[csvc setCurrent:c];
}
}
Любые идеи, как я могу сделать эту работу?
Спасибо, Jonathan
Thank! Он отлично работает! –
Один вопрос по этому решению. У меня была аналогичная проблема, и когда я прикрепляю дополнительный uinavigationcontroller между контейнером и начальным контроллером tableview, он жалуется на отсутствие свойств, которые я передаю в методе prepareForSegue. Это связано с тем, что он пытается передать данные в контроллер навигации, а не на целевой uitableviewController. Здесь нет шага? – sapatos
Возможно, 'segue.destinationViewController' вернет' UINavigationController'. Вместо этого вам нужно использовать 'segue.destinationViewController.topViewController'. – Jzon