Есть несколько способов, но, если честно, текущий контроллер представления (давайте назовем его основным) просто добавляет представление cityViewController
, сохраняет обработку добавления / удаления представлений к текущему контроллеру представления и простовызов главного контроллера [cityViewController.view removeFromSuperView]
Таким образом, вы можете выполнить любой код, который вы хотите, когда он получает это уведомление (будь то метод, который запускается или UINotification
).
- редактироватьдля образца кода UINotification -
main.m
...
//Define cityViewController as an iVar and alloc/init it
[[UINotificationCenter defaultCenter] addObserver:self selector:@selector(didFinishView:) name:@"DidFinishView" object:nil];
[self.view addSubview:cityViewController.view];
...
-(void) didFinishView:(NSNotification *)notification {
[cityViewController.view removeFromSuperView];
}
CityViewController.m
-(IBAction) doneButtonClick:(id) sender {
[[NSNotificationCenter defaultCenter] postNotificationName:@"DidFinishView" object:nil];
}