2012-05-06 4 views
0

Я добавил дополнительный вид из контроллера A. Теперь в контроллере B, который является контроллером подсмотра, как я могу перезагрузить вид A, когда пользователь закончил с B? Мои коды добавления подвид:ios удалить под просмотр с другого контроллера

ChangeProfileImage *changeProfileImage =[[ChangeProfileImage alloc] init]; 
    changeProfileImage.modalPresentationStyle = UIModalPresentationFormSheet; 
    changeProfileImage.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    changeProfileImage.view.frame = CGRectMake(50, 50, 300, 300); 
    UIView *dimBackgroundView = [[UIView alloc] initWithFrame:self.view.bounds]; 
    dimBackgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f]; 
    [self.view addSubview:dimBackgroundView]; 
    [self.view addSubview:changeProfileImage.view]; 
+1

поэтому в контроллере B .. вы попробовали '[self.view removeFromSuperView];'? –

+0

Это работает, чтобы удалить представление changeprofileimage, но как насчет вида dimbackground? и как обновить контроллер A? – user2514963

+0

проверить ответ Plz. –

ответ

1

вы можете установить тег для "dimbackground" .. и удалить его, как это:

dimBackgroundView.tag = 111;//you will do this line when you create the view. 
UIView *view = [controllerA.view viewWithTag:111]; 
[view removeFromSuperview]; 

Чтобы обновить вашу ViewController:

, когда пользователь нажимает кнопку отправки и вы удалите вид B .. отправьте уведомление с помощью NSNotificationCenter следующим образом:

[[NSNotificationCenter defaultCenter] postNotificationName:@"UserSubmit" object:nil]; 

и в controllerA .. viewDidLoad Например добавить его в качестве наблюдателя, как этот

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshView) name:@"UserSubmit" object:nil]; 

и вы будете осуществлять эту функцию:

- (void) refreshView 
{ 
    //Do your stuff 
} 
+0

Как обновить контроллер? – user2514963

+0

Что вы подразумеваете под "refresh"? и когда вам нравится это делать? –

+0

, который означает, что пользователь нажимает submit в B. затем перенаправляет обратно в A с обновленными значениями – user2514963

0

создать кнопку на ViewController B с IBAction Connected к нему, написать ниже кода в IBaction этой кнопки, это удалит viewcontroller B

[self.view removeFromSuperview];

+0

Но A не обновляется – user2514963

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