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];
 }
È stato utile?

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]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top