44

しばらくこれに苦労していて、直接の答えを得ることができないようです。

どんな助けでも大歓迎です!

4

11 に答える 11

87

Navigation Controller を使用している場合:

ViewController *viewController = [[ViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];

または、新しいビューを表示したいだけの場合:

ViewController *viewController = [[ViewController alloc] init];    
[self presentViewController:viewController animated:YES completion:nil];
于 2012-06-07T14:54:20.980 に答える
33

同じストーリーボードで新しいビューを提示したい場合は、

CurrentViewController.m では、

#import "YourViewController.h"

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
YourViewController *viewController = (YourViewController *)[storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
[self presentViewController:viewController animated:YES completion:nil];

View Controller に識別子を設定するには、 MainStoryBoard.storyboard を開きます。YourViewController ビュー -> ユーティリティ -> ShowIdentityInspector を選択します。そこで識別子を指定できます。

于 2013-04-25T09:25:44.220 に答える
17

instantiateViewControllerWithIdentifierですStoryboard ID

NextViewController *NVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NextViewController"];
[self presentViewController:NVC animated:YES completion:nil];
于 2013-05-02T14:56:38.227 に答える
5

CmdSft によって以前の回答コードで呼び出された Viewcontroller を閉じるには

ViewController *viewController = [[ViewController alloc] init];    
[self presentViewController:viewController animated:YES completion:nil];

あなたが使用することができます

[self dismissViewControllerAnimated:YES completion: nil];
于 2014-04-15T20:00:41.393 に答える
3
#import "YourViewController.h"

ナビゲーション バーやタブ バーを含むビューをプッシュするには:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboard" bundle:nil];
YourViewController *viewController = (YourViewcontroller *)[storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
[self.navigationController pushViewController:viewController animated:YES];

View Controller に識別子を設定するには、YourStoryboard.storyboard を開きます。YourViewController ビュー -> ユーティリティ -> ShowIdentityInspector を選択します。そこで識別子を指定できます。

于 2014-10-22T11:44:57.877 に答える
2

これは私のために働いた:

NSTimer *switchTo = [NSTimer scheduledTimerWithTimeInterval:0.1
           target:selfselector:@selector(switchToTimer)userInfo:nil repeats:NO];

- (void) switchToTimer {
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"MyViewControllerID"]; // Storyboard ID
[self presentViewController:vc animated:FALSE completion:nil];
}
于 2013-12-02T10:16:21.380 に答える
1
[self.navigationController pushViewController:someViewController animated:YES];
于 2012-06-07T14:40:27.200 に答える
0

OPはviewCONTROLLERを変更せずにVIEWを交換する方法を尋ねていると思います。私は彼の質問を誤解していますか?

疑似コードで、彼は次のことをしたいと考えています。

let myController = instantiate(someParentController)

let view1 = Bundle.main.loadNib(....) as... blah
myController.setThisViewTo( view1 )

let view2 = Bundle.main.loadNib(....) as... blah
myController.setThisViewTo( view2 )

私は彼の質問を間違っていますか?

于 2018-09-22T01:07:17.307 に答える