// 郭ザイ作成 2015 年 4 月 21 日 22:52:59
// ========================== == ======================
人生で一番辛いのは、家賃を払う時です! ! ! ! ! ! !
// ============================================= == =====
UINavigationController:
ナビゲーション コントローラーは、iOS で最も一般的に使用されるマルチビュー コントローラーの 1 つで、複数のビュー コントローラーを管理するために使用されます。
ナビゲーション コントローラーは、コントローラーを管理するコントローラー、主に階層化された
コントローラーを管理すると考えることができます。
は、ナビゲーション コントローラー デバイスのルート ビュー コントロールと呼ばれます。
UIViewController を継承する任意のクラス (ポリモーフィック) をルート コントローラーとして使用できます。
// =========
動作原理:
UINavigationController はスタックを通じてコントローラーの切り替えを管理し、各ビュー コントローラーを表示するためにプッシュとポップを制御します。スタック上の最上位のコントローラーのビューは、常に UINavigationController の ContentView に表示されます。
viewControllers 属性は、スタック内のすべてのマネージド コントローラーを保存します。 NavigationController 属性は、スタック内の各コントローラーは、この属性を通じて独自の UINavigationController オブジェクトを取得できます。
ページ間を移動するには:
pushViewController:animated //进?入下?一个视图控制器
popViewControllerAnimated: //返回上?一个视图控制器
popToViewController:animated //返回到指定的视图控制器
popToRootViewControllerAnimated //返回到根视图控制器
viewControllers //所有处于栈中的控制器
topViewController //位于栈顶的控制器
visibleViewController //当前正在显?示的控制器
navigationBar //导航条
下にジャンプ:
SecondViewController * secondVC = [[SecondViewController alloc]init]; [self.navigationController pushViewController:secondVC animated:YES];
// [self.navigationController popViewControllerAnimated:YES]; // [self.navigationController popToRootViewControllerAnimated:YES]; SecondViewController * secondVC = [self.navigationController.viewControllers objectAtIndex:0]; [self.navigationController popToViewController:secondVC animated:YES];
透明ではありません。 NavigationBar が透明な場合、contentView 領域の一部と重なります。
NavigationBar が不透明な場合、contentView は NavigationBar に従います。 NavigationBar のデフォルトの高さは、垂直画面では 44、水平画面では 32 です。UINavigationBar は、独自のスタイルを定義するだけでなく、一連の UINavigationItem も管理します。 UINavigationController と同様に、UINavigationBar も UINavigationItem のグループをスタック形式で管理します。プッシュおよびポップ操作項目を提供します。 すべてのビュー コントローラーには、navigationItem プロパティがあります。
//================ ===
//========== ===; ==
UINavigationItem:
に表示されるデータをカプセル化します。
UIBarButtonItem は MVC M に属します。 UINavigationItem 上のボタンのトリガーイベントや外観などを定義します
-initWithBarButtonSystemItem:target:action:
-initWithTitle:style:target:action: -initWithImage:style:target:action: tinyColor;
RootViewController * rootVC = [[RootViewController alloc]init]; UINavigationController * nvc = [[UINavigationController alloc]initWithRootViewController:rootVC]; // nvc.navigationBar.backgroundColor = [UIColor redColor]; // nvc.navigationBar.tintColor = [UIColor redColor]; nvc.navigationBar.translucent = YES; nvc.navigationBar.barStyle = UIBarStyleBlack; UIImage * image = [UIImage imageNamed:@"bd_logo1.png"]; [nvc.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
UIView * view = [[UIView alloc]init]; view.frame = CGRectMake(0, 200, 20, 20); view.backgroundColor = [UIColor brownColor]; self.navigationItem.title = @"郭仔"; self.navigationItem.titleView = view; [view release]; UIBarButtonItem *btnItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:nil]; self.navigationItem.rightBarButtonItem = btnItem; [btnItem release]; UIImage * img = [[UIImage imageNamed:@"4.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; UIBarButtonItem * leftImage = [[UIBarButtonItem alloc]initWithImage:img style:UIBarButtonItemStyleBordered target:self action:nil]; self.navigationItem.leftBarButtonItem = leftImage;
ページの値transfer :
1 つは属性値の転送です。
1 つはプロキシ値の転送です。
/*
属性値の転送: ページ A からページ B に値を転送する場合、ページ B で属性を宣言します。 AジャンプイベントでページBのプロパティに値を割り当てます。
後のページから前のページに戻ると、前のページのloadViewメソッドとviewDidLoadメソッドは実行されませんが、loadViewの関数が実行されるため、viewWillAppearメソッドが実行されます。 viewDidLoad メソッドはビューをメモリにロードし、次のページから戻るときに前のページがメモリにロードされているため、再度ロードする必要がないため、loadView メソッドと ViewDidLoad メソッドは実行されません。*/
プロキシ値の転送:
「プロキシを設定するには、プロトコルの 4 つの手順に従うだけです」に従って、プロキシ値の転送:
// === ======================== ============
一日の中で一番楽しい時間は高速道路に乗っている時です夜、こんにちは北京チベット高速道路~~~~~~~~~~