国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iosUINavigationController

2019-11-14 20:38:21
字體:
來源:轉載
供稿:網友

UINaviGationController通常被我們稱為導航欄,他是視圖與視圖之間聯系溝通的橋梁,一些著名的app都用到了他。下面我們來看一下如何建立一個navigation。

首先,我們通常新建工程是直接將視圖控制器添加到window上,而現在有navigation以后,就多了一層:

     Appdelegete.h: 

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];  
  4.     // Override point for customization after application launch.  
  5.     self.window.backgroundColor = [UIColor whiteColor];  
  6.     RootViewController *root = [[RootViewController alloc]init];  
  7.     UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:root];//先將root添加在navigation上  
  8.     [_window setRootViewController:nav];//navigation加在window上  
  9.       
  10.     [nav release];  
  11.     [root release];  
  12.       
  13.     [self.window makeKeyAndVisible];  
  14.     return YES;  
  15. }  

這樣我們的navigation就加載上去了。下面我們來設置navigation的屬性:

  

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     // Do any additional setup after loading the view.  
  5.     [self.navigationController.navigationBar setTranslucent:NO];//設置navigationbar的半透明  
  6.     self.title = @"navigationcontroller";//設置navigationbar上顯示的標題  
  7.     [self.navigationController.navigationBar setBarTintColor:[UIColor purpleColor]];//設置navigationbar的顏色  
  8.     self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStyleDone target:self action:Nil];//設置navigationbar左邊按鈕  
  9.     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:Nil];//設置navigationbar右邊按鈕  
  10.     [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];//設置navigationbar上左右按鈕字體顏色  
  11. }  


效果圖如下:

 

這里還有一個屬性常用,就是: 

  1. NSArray *arr = [NSArray arrayWithObjects:@"1",@"2", nil nil];  
  2.     UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:arr];  
  3.     self.navigationItem.titleView = segment;//設置navigation上的titleview  


效果如下:

 

對,我們看到中間的字變成了兩個可選的按鈕,這就是navigation的另一個屬性:navigationitem.titleview。

下面我們再建立一個視圖,看一下兩個視圖之前是怎樣通信的。

在第二個視圖中,我添加了一個button來顯示,并加了一個成員變量來接收從第一個視圖中穿過來的值:

 

  1. @interface SecondViewController : UIViewController  
  2. @PRoperty (copy,nonatomicNSString *str;  
  3. @end  

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     // Do any additional setup after loading the view.  
  5.     self.title = @"second";  
  6.     UIButton *aBUTTON = [[UIButton alloc]initWithFrame:CGRectMake(30305030)];  
  7.     [aBUTTON setTitle:_str forState:UIControlStateNormal];  
  8.     [aBUTTON addTarget:self action:@selector(clicked) forControlEvents:UIControlEventTouchUpInside];  
  9.     [self.view addSubview:aBUTTON];  
  10. }  


然后我將第一個視圖的右邊按鈕添加一個事件,點擊按鈕,就會推出第二個視圖,并顯示我們傳過來的值:

  

  1. - (void)clicked{  
  2.     SecondViewController *second = [[SecondViewController alloc]init];  
  3.     [self.navigationController pushViewController:second animated:YES];  
  4.     second.str = @"hello!!";  
  5.     [second release];  
  6. }  


下面,我們來運行一下:

 

點進按鈕以后,我們的第二個視圖推出,button顯示了傳過來的值。

然后我們點擊回button,還有navigation另外一個方法: 

  1. - (void)clicked{  
  2.     [self.navigationController popViewControllerAnimated:YES];  
  3. }  


這樣就可以回到第一個視圖。

 

 

uinavigationcontroller的一些簡單的屬性就先說到這里,歡迎留言補充,謝謝。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贞丰县| 孟津县| 会泽县| 宜良县| 韩城市| 开平市| 永福县| 江永县| 莱西市| 嵩明县| 石楼县| 永胜县| 乌拉特中旗| 安多县| 丰都县| 肃南| 西乌珠穆沁旗| 西吉县| 象州县| 沁水县| 巴东县| 章丘市| 邵武市| 宝山区| 阿拉善右旗| 雷波县| 鹿邑县| 遵化市| 彭州市| 昆明市| 沧源| 新乡县| 达尔| 开封市| 阜宁县| 青州市| 乾安县| 江北区| 华阴市| 伊宁县| 东阿县|