0

私はiOSプログラミングの初心者です。

私がやろうとしていることは:

ストーリーボードにいくつかのビューがあり、プログラムでビューを切り替えたいと思います。たとえば、ボタンがクリックされたときにメソッドを呼び出し、ここでビューを変更したい(メソッドを正常に呼び出すことができます)。ボタンは、プログラムによってさまざまな位置に作成されます。

私は検索しました、そして私はそれがで起こると思いますNavigationController。私は次のように作成したナビゲーションコントローラーを持っています:menu Editor -> Embed In -> NavigationController。これを使用してこれを行うにはどうすればよいNavigationControllerですか?

@Madhuと@Dilip、私はファイルされたxibクラスで解決策を見つけました

icerik *secondViewController = [[icerik alloc] initWithNibName:@"icerik" bundle:nil];

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:secondViewController];
    navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
    navigationController.topViewController.title = @"SecondViewController";

    //[self presentModalViewController:navigationController  animated:YES];

    if([self respondsToSelector:@selector(presentViewController:animated:completion:)])
        [self presentViewController:navigationController animated:YES completion:^{/* done */}];
    else if([self respondsToSelector:@selector(presentViewController:animated:)])
        [self presentModalViewController:navigationController animated:YES];

icerikという名前のxibファイルを持つクラスがあります。このように解決しました。開店中ですが、引き返したいときはどうしたらいいですか?

4

2 に答える 2

0

初めての場合Objective-cは、Views/ViewControllersを最初に使用します。つまり、addSubViewのプロパティを使用しますUIView

UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(10, 0, 250.0, kCCCellHeaderHeight)];
[subView setBackgroundColor:[UIColor redcolor]];
[self.view addSubview:subView];

UINavigationCOntroller使用についてほとんど知られていない場合pushViewController

CCFilteredVideosController *filteredController = [[CCFilteredVideosController alloc] initWithNibName:@"CCFilteredVideosController" bundle:nil];
[self.navigationController pushViewController:filteredController animated:YES];
[filteredController release];
于 2013-02-19T12:30:18.063 に答える
0

次のコードを使用してbtnを作成できます。

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(aMethod) forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.view addSubview:button];

ナビゲーションバーが必要な場合は、別のVCに移動するためにこのコードを使用します。

-(void)aMethod
{
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:SecondViewController];
    navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
    navigationController.topViewController.title = @"SecondViewController";

    [self presentModalViewController:navigationController               animated:YES];
}

それ以外の場合は、次のコードを使用します。

-(void)aMethod
{
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

    [self presentModalViewController:secondViewController            animated:YES];
}

そして、最初のvc fromm 2番目のvcに戻るには、このコードを2番目のvcに追加します。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(backAction:)]; 
    self.navigationItem.leftBarButtonItem = closeButton;
}
- (void)backAction:(id)sender {
    [self dismissModalViewControllerAnimated:NO];
}
于 2013-02-19T12:31:33.613 に答える