IOSエッセイ——ページジャンプ

2362 ワード

現在、私が学んだことについて、ページのジャンプには3つの方法があります.
一、直接次のページへ
2つのページを定義した後、最初のインタフェースにbuttonを追加し、buttonにchangViewメソッドを実装します.
-(IBAction)chang:(id)sender;

はい.mファイル内実装
-(void)chang:(id)sender{
    second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
    [self presentViewController:secondview animated:YES completion:^{}];
}

備考:secondは2番目のページで、このようにして1番目のページのジャンプを実現しました.このジャンプの効果は下から上へ移動する効果です.
ページの戻り
もちろん、この方法で次のページを押すと、前のページに戻る必要がある場合もありますが、presentViewControl:対応する戻り方はdismissViewControl-Animated:2番目のページにbuttonを追加してメソッドを追加する必要があります.メソッドの実装にはこの行のコードを追加すればいいです.
[self presentViewController:firstview animated:YES completion:^{}];
[self dismissViewControllerAnimated:YES completion:^{}];

二、ナビゲーションバージャンプUINavigationController
このジャンプ方法はUINAvigationControllerを借りて実現する必要がある
UInavigationControllerは1つの容器に相当し、すべてのviewをこの容器に入れます.
代理店にいます.mファイルに以下のコードを追加
ナビゲーションバーを追加します
UINavigationController *_navTest = [[UINavigationController alloc] initWithRootViewController:_viewController];

ナビゲーションバーを追加した後、最初のページはどれをロードしますか?この行のコードで実現され、以前のコードを置き換えます.
self.window.rootViewController = _navTest;

追加するコードを選択できます:はい.mロード方法にこのページのtitileを追加
[self setTitle:@"first"];

実装方法
-(void)chang:(id)sender{
    second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
    [self.navigationController pushViewController:secondview animated:YES];
}

ページがジャンプした後、もちろん、持参したナビゲーションバーに戻るボタンがありますが、もし私たちが自分のコードを実現したいなら、この1つを前のページに戻すなら、dismissViewControllerAnimated:実現できません.なぜここで必要なのはpopViewControllerAnimatedの具体的なコードの実現ですか.
 [self.navigationController popViewControllerAnimated:YES];

これで2ページのジャンプと戻りが完了しました
3つ目は、他のページを現在のページに直接追加することです.
view1=[[view21 alloc]initWithNibName:@"view21" bundle:nil];
    [mainScr addSubview:view1.view];
    view1.view.frame=CGRectMake(0, 0, 1024, 768);

その対応する前のページに戻る方法は使用できます.
[view1 removeFromSuper];
でもaddsubviewと具体的に対応しているかどうかはまだ検討中・・・
4つ目:
introView = [[CompanyIntroViewController alloc]init];
[self.view insertSubview:introView.view aboveSubview:backImageView];
検証対象