Home > Web Front-end > HTML Tutorial > UI development UINavigationController and value transfer between pages_html/css_WEB-ITnose

UI development UINavigationController and value transfer between pages_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:45:51
Original
1212 people have browsed it

// Created By Guo Zai April 21, 2015 22:52:59

// =================== ================================

The most painful thing in life is when it’s time to pay the rent! ! ! ! ! ! !

// ============================================ =========

UINavigationController:

Navigation controller is one of the most commonly used multi-view controllers in iOS. It is used to Manage multiple view controllers.
Navigation controller can be considered as a controller that manages controllers, mainly managing hierarchical
controllers.

UINavigationController inherits from UIViewController and manages the view controllers controlled by

in a stack way. There must be at least one managed view controller. This controller
us Called the root view controller of the navigation controller.
Any class (polymorphic) that inherits from UIViewController can be used as a root controller.

// =========

Working principle:

UINavigationController manages controller switching and controls entry through the stack. Stack and pop

to display each view controller. The view of the top controller on the stack is always displayed in the ContentView of UINavigationController.
The viewControllers attribute stores all managed controllers in the stack
The navigationController attribute is an attribute in the parent class. Each controller in the stack can obtain its own location through this attribute. The UINavigationController object.

To jump between pages:

pushViewController:animated //进?入下?一个视图控制器 
Copy after login
popViewControllerAnimated: //返回上?一个视图控制器 
Copy after login
popToViewController:animated //返回到指定的视图控制器 
Copy after login
Common attributes:
popToRootViewControllerAnimated //返回到根视图控制器
Copy after login

viewControllers //所有处于栈中的控制器 
Copy after login
topViewController //位于栈顶的控制器 
Copy after login
visibleViewController //当前正在显?示的控制器 
Copy after login
// =======================
navigationBar //导航条
Copy after login

Jump down:

Jump up:
    SecondViewController * secondVC = [[SecondViewController alloc]init];    [self.navigationController pushViewController:secondVC animated:YES];
Copy after login

   // [self.navigationController popViewControllerAnimated:YES];   // [self.navigationController popToRootViewControllerAnimated:YES];    SecondViewController * secondVC = [self.navigationController.viewControllers objectAtIndex:0];    [self.navigationController popToViewController:secondVC animated:YES];
Copy after login
UINavigationBar:

navigationBar? Navigation bar, iOS7 The default is transparent after that, and the default before iOS7 is opaque

. When the navigationBar is transparent, it will overlap part of the contentView area.
When the navigationBar is opaque, the contentView follows the navigationBar. The default height of navigationBar is 44 in vertical screen and 32 in horizontal screen.

In addition to defining its own style, UINavigationBar also manages a group of

UINavigationItem. Similar to UINavigationController, UINavigationBar also manages a group of UINavigationItems in a stack manner. Provides push and pop operation items.
Every view controller has a navigationItem property. The left button, right button, title, etc. set in navigationItem will be displayed on the navigationBar as the controller is displayed;

//============ =========

UINavigationItem:

UINavigationItem belongs to M in MVC. Encapsulates the data to be displayed on the UINavigationBar

.



UIBarButtonItem belongs to MVC. Defines the triggering events, appearance, etc. of the button on UINavigationItem

-initWithBarButtonSystemItem:target:action:
-initWithTitle:style:target:action: -initWithImage:style:target:action: tintColor;

// =================


// ========

    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];
Copy after login

// ===========

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;    
Copy after login

Page value passing:

One is attribute value passing;

One is to pass value by proxy;

/*

Attribute value passing: If you pass a value from page A to page B, declare the attribute in page B and jump to page A. Assign values ​​to the properties of page B in the event;
Returning to the previous page from the latter page will not execute the loadView and viewDidLoad methods of the previous page, but the viewWillAppear method, because the function of the loadView and viewDidLoad methods is to load the view into Memory, and when returning from the next page, the previous page has been loaded into the memory, so there is no need to load it again, so the loadView and ViewDidLoad methods are not executed;

*/

Proxy value:

Same as the proxy design pattern, just follow the four steps of setting up the proxy and following the protocol. Here is an introduction:


// ===== ==================================

The most enjoyable time of the day is at night Riding on the highway, Hello Beijing-Tibet Expressway~~~~~~~~~





source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template