2013-05-23 3 views
0

У меня есть два viewControllers родитель и ребенок, от родителей я открываю ребенок ViewController как это:Xcode близко вид контроллер

ClildVC *modal = [[ClildVC alloc] initWithNibName:nil bundle:nil]; 
modal.modalPresentationStyle = UIModalPresentationPageSheet; 
[self presentModalViewController:modal animated:YES]; 

и когда я возвращаюсь с ребенком View родителя, я использую это:

[self dismissModalViewControllerAnimated:YES]; 

Я хочу, возвращаясь к родительскому viewController, он будет обновлен (перезагружен), как я его открываю в первый раз.

+0

поставьте свое обновление в 'viewDidAppear'. Он будет запускаться при первом запуске и когда вы когда-нибудь вернетесь к этой точке зрения. – Desdenova

+0

Если это не сработает, сделайте родительский элемент делегатом дочернего VC и отпустите дочерний VC из родительского VC с помощью метода делегата. Затем добавьте свой код/​​метод обновления в методе делегата, чтобы родительское представление было обновлено до отклонения дочернего представления. – HM1

ответ

3

в вашем parentViewController в .h и .m добавить метод

- (void)refreshData 
{ 
    //refresh your data 
} 

в вашем типе childViewController этот

- (IBAction)backToParent 
{ 
    YourParentController *parent = (YourParentController *)self.parentViewController; 
    [parent refreshData]; 

    [self dismissModalViewControllerAnimated:YES]; 
} 
0

Вы начинаете без файла nib и без идентификатора связки.

Таким образом, ее ищет несуществующий СИБ в расслоении, не существует

либо дизайн пера в IB (Xcode 4) или раскадровку (4,2 +) или программно с помощью назначенного Инициализатора для модального просмотрите контроллер.

1

dismissModalViewControllerAnimated: нежелателен из iOS6

Вы должны использовать dismissViewControllerAnimated:completion:, который был введенный в iOS5 в контроллере дочернего представления после вызова обновления данных на его родительском контроллере представления

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