Come eliminare UITableView?
-
05-07-2019 - |
Domanda
La mia app visualizza una schermata di uitableview quando l'utente fa clic su un pulsante delle impostazioni. Non riesco a capire come collegare la richiesta di rigetto con l'azione.
Come posso eliminare questa vista dall'interno di uitableview?
Impostazione della vista:
SettingsController *rootViewController = [[SettingsController alloc]
initWithStyle:UITableViewStyleGrouped];
UINavigationController *navigationController = [[UINavigationController alloc]
initWithRootViewController:rootViewController];
settingsView = navigationController.view;
settingsView.frame =
CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self.view insertSubview:settingsView atIndex:0];
Porta in primo piano la vista:
- (IBAction)settingsPressed:(id)sender{
[self.view bringSubviewToFront:settingsView];
}
Posizionamento della vista sul retro:
- (void)QuitSettings {
[self.view sendSubviewToBack:settingsView];
}
Cattura " return " fare clic sul pulsante in SettingsController:
- (void) action:(id) sender{
//[super.view sendSubviewToBack:holdingView];
// access error [self release];
// nothing [holdingView removeFromSuperview];
// access error [super QuitSettings];
}
Soluzione
Sembra che tu voglia utilizzare una vista modale anziché inserire una sottoview in un determinato indice.
Dovresti usare
[self presentModalViewController:myTableViewController animated:YES];
dove self è il controller di visualizzazione che effettuerà la chiamata per visualizzare la vista tabella.
Quindi puoi collegare un pulsante o un'azione da qualche parte sul controller della vista tabella che chiamerà
[self.parentViewController dismissModalViewControllerAnimated:YES];
per chiudere il controller della vista tabella.
Altri suggerimenti
Non funziona?
[settingsView removeFromSuperView]