J'ai un controller de vue qui est mon HomeViewController, et j'ai une binding modale entre eux.
C'est le HomeViewController:
import "HomePageViewController.h" #import "CreatePageViewController.h" #import "StackTableViewController.h" #import "PopUpView.h" @interface HomePageViewController () @property (nonatomic, strong) IBOutlet UIButton *toggleButton; @property (nonatomic, strong) CreatePageViewController *modalTest; @property (nonatomic, strong) PopUpView *popup; @end @implementation HomePageViewController -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; } -(void)viewDidLoad { [super viewDidLoad]; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:Nil]; _modalTest = [storyboard instantiateViewControllerWithIdentifier:@"ModalTest"]; [_toggleButton addTarget:self action:@selector(go) forControlEvents:UIControlEventTouchUpInside]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(hide) name:@"HideAFPopup" object:nil]; } -(void)go { _popup = [PopUpView popupWithView:_modalTest.view]; [_popup show]; } -(void)hide { [_popup hide]; } - (IBAction)pushToNextViewController:(id)sender { StackTableViewController *vc = [[StackTableViewController alloc]init]; [self presentModalViewController:vc animated:YES]; } -(void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
Je veux append un controller de navigation à StackTableViewController … c'est juste une vue de table et je veux qu'il ait un controller de navigation, comment dois-je faire cela?
Aussi, pourquoi xcode me dit que ma méthode modale presentModalViewController est obsolète?
tnx
Créez une nouvelle instance de UINavigationController
, avec votre StackTableViewController
tant que rootViewController
. Présentez ensuite le controller de navigation:
- (IBAction)pushToNextViewController:(id)sender { StackTableViewController *vc = [[StackTableViewController alloc]init]; UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:vc]; [self presentViewController:navCtrl animated:YES completion:nil];
}
Notez que presentModalViewController:animated:
est obsolète car il a été remplacé par presentViewController:animated:completion: