亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS應用開發中導航欄按鈕UIBarButtonItem的添加教程

2020-07-26 03:28:21
字體:
來源:轉載
供稿:網友

1、UINavigationController導航控制器如何使用
UINavigationController可以翻譯為導航控制器,在iOS里經常用到。
我們看看它的如何使用:
下面的圖顯示了導航控制器的流程。最左側是根視圖,當用戶點擊其中的General項時 ,General視圖會滑入屏幕;當用戶繼續點擊Auto-Lock項時,Auto-Lock視圖將滑入屏幕。相應地,在對象管理上,導航控制器使用了導航堆棧。根視圖控制器在堆棧最底層,接下來入棧的是General視圖控制器和Auto-Lock視圖控制器。可以調用pushViewControllerAnimated:方法將視圖控制器推入棧頂,也可以調用popViewControllerAnimated:方法將視圖控制

20162494526157.png (636×288)

2、UINavigationController的結構組成
看下圖,UINavigationController有Navigation bar  ,Navigation View ,Navigation toobar等組成。

20162494548655.png (646×476)

現在我們建立一個例子,看看如何使用UINavigationController
3、新建一個項目
命名為UINavigationControllerDemo,為了更好理解UINavigationController,我們選擇Empty Application模板

20162494608179.png (728×491)

4、創建一個View Controller,命名為RootViewController:依次選擇File――New――New File,默認勾上With XIB for user interface.

20162494625133.png (728×491)

選擇正確位置創建完成,這時項目里多了三個文件,分別是RootViewController.h RootViewController.m RootViewController.xib文件。
打開RootViewController.xib,添加一個按鈕控件,按鈕Button改成 :Goto SecondView,為跳轉做準備

20162494706858.png (923×284)

5、打開AppDelegate.h,向其中添加屬性:

復制代碼 代碼如下:

@property (strong, nonatomic) UINavigationController *navController; 

添加后AppDelegate.h文件代碼如下:
復制代碼 代碼如下:

#import <UIKit/UIKit.h> 
 
@class ViewController; 
 
@interface AppDelegate : UIResponder <UIApplicationDelegate> 
 
@property (strong, nonatomic) UIWindow *window; 
 
@property (strong, nonatomic) ViewController *viewController; 
 
@property (strong, nonatomic) UINavigationController *navController; 
 
@end 

6、在AppDelegate.m 文件的didFinishLaunchingWithOptions方法中創建添加navController,RootViewController視圖。
復制代碼 代碼如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    RootViewController *rootView = [[RootViewController alloc] init]; 
    rootView.title = @"Root View"; 
     
    self.navController = [[UINavigationController alloc] init]; 
    [self.navController pushViewController:rootView animated:YES]; 
    [self.window addSubview:self.navController.view]; 
    [self.window makeKeyAndVisible]; 
    return YES; 


給rootView的titie命名為 Root View,好識別View直接的切換關系。用pushViewController把rootView加入到navController的視圖棧中。
7、現在Root視圖添加完成
看看效果:

20162494734438.png (368×716)

現在還沒有Navigation bar 。只有title。
8、添加UIBarButtonItem
bar ButtonItem分左右UIBarButtonItem。我們把左右的都添加上去。
在RootViewController.m中添加代碼如下:

復制代碼 代碼如下:

- (void)viewDidLoad 

    [super viewDidLoad]; 
 
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(selectLeftAction:)]; 
    self.navigationItem.leftBarButtonItem = leftButton; 
     
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd  target:self action:@selector(selectRightAction:)]; 
    self.navigationItem.rightBarButtonItem = rightButton;<p class="p1">}

這樣添加了UIBarButtonItem了,效果如下:

20162494751281.png (362×214)

這里重點介紹下

復制代碼 代碼如下:

UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemActiontarget:selfaction:@selector(selectLeftAction:)];


UIBarButtonSystemItemAction的風格,這是系統自帶的按鈕風格,看下圖,你不用一個個試驗,你也知道想用那個item,如下圖:

20162494809920.png (692×640)

9、響應UIBarButtonItem的事件的實現
我們在 action:@selector(selectLeftAction:);
action添加了selectLeftAction和selectRightAction
在RootViewController.m文件中添加代碼實現:

復制代碼 代碼如下:

-(void)selectLeftAction:(id)sender 

    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你點擊了導航欄左按鈕" delegate:self  cancelButtonTitle:@"確定" otherButtonTitles:nil, nil]; 
    [alter show]; 

 
-(void)selectRightAction:(id)sender 

    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你點擊了導航欄右按鈕" delegate:self  cancelButtonTitle:@"確定" otherButtonTitles:nil, nil]; 
    [alter show]; 
}
 
這樣在點擊左右的UIBarButtonItem時,彈出提示:

20162494825463.png (281×302)


兩個按鈕切換的簡單例子

下面這個代碼例子的背景是:導航條右側有個 edit button,左側是 back button 和 add button。代碼實現的按鈕切換/隱藏功能具體就是:點擊 edti button 的話,back button 隱藏,同時顯示 add button。用戶編輯完以后則顯示 back button 隱藏 add button。這一功能在很多應用里都會用到,而且適當隱藏掉無用按鈕對保持界面簡潔以及引導用戶操作都是有意義的。

復制代碼 代碼如下:

- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
 
    [super setEditing:editing animated:animated];
 
// Don't show the Back button while editing.
[self.navigationItem setHidesBackButton:editing animated:YES];
 
if (editing) {
    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertMe)] autorelease];
}else {
    self.navigationItem.leftBarButtonItem = nil;
//self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(backButton) ] autorelease];
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美第一页在线| 亚洲精品电影在线| 91精品久久久久久| 亚洲人永久免费| 国模视频一区二区| 国产午夜一区二区| 久久天天躁狠狠躁夜夜av| 色中色综合影院手机版在线观看| 亚洲国产毛片完整版| 成人精品福利视频| 日韩av影片在线观看| 国产成人在线视频| 久久777国产线看观看精品| 亚洲精品一区av在线播放| 国产日韩中文字幕| 国产精品露脸自拍| 国产91色在线播放| 亚洲精品视频免费在线观看| 91国内揄拍国内精品对白| www.99久久热国产日韩欧美.com| 成人高h视频在线| 国产精品网站大全| 亚洲成av人片在线观看香蕉| 欧美激情一区二区三级高清视频| 国产精品午夜一区二区欲梦| 最近2019年中文视频免费在线观看| 中文字幕欧美国内| 欧美性猛交xxxx免费看漫画| 一区二区三区黄色| 国产盗摄xxxx视频xxx69| 91精品久久久久久综合乱菊| 91精品国产91久久久久久| 亚洲精品国产欧美| 久久精品视频网站| 亲爱的老师9免费观看全集电视剧| 欧美性高潮在线| 亚洲欧美色图片| 亚洲人成绝费网站色www| 九九久久综合网站| 亚洲国产精品99| 色噜噜狠狠狠综合曰曰曰88av| 亚洲第一中文字幕在线观看| 国产成人在线一区二区| 欧美亚洲成人免费| 欧美中文在线观看| 中文字幕精品视频| 国产性色av一区二区| 久久久人成影片一区二区三区观看| 精品激情国产视频| 欧美日韩免费看| 午夜剧场成人观在线视频免费观看| 不卡中文字幕av| 91精品在线影院| 欧美日韩亚洲天堂| 欧美日韩在线第一页| 久久福利视频导航| 欧美国产在线电影| 国产精品最新在线观看| 在线观看欧美视频| 亚洲第一视频网| www.久久草.com| 国产第一区电影| 国产欧美在线播放| 精品久久久久久国产91| 久久久久久国产精品| 亚洲尤物视频网| 国产精品视频一| 日韩欧美国产黄色| 国产精品免费电影| 国产精品99久久久久久久久| 国产精品日本精品| 亚洲精品欧美一区二区三区| 国产精品第一区| 欧美精品日韩www.p站| 另类天堂视频在线观看| 91久久久亚洲精品| 欧美黑人巨大精品一区二区| 精品国产拍在线观看| 欧美日韩在线视频一区| 成人亲热视频网站| 在线播放国产一区二区三区| 尤物九九久久国产精品的特点| 国产一区二区三区免费视频| 91精品成人久久| 亚洲国产99精品国自产| 亚洲日韩中文字幕| 国产精品久久久久久久久久三级| 国产亚洲精品久久久久久牛牛| 国产精品ⅴa在线观看h| 亚洲第一国产精品| 欧美大尺度电影在线观看| 久久99久久99精品中文字幕| 高清在线视频日韩欧美| 欧美二区在线播放| www.久久撸.com| 亚洲国产欧美一区二区三区久久| 国产日韩av高清| 神马久久桃色视频| 欧美乱大交xxxxx另类电影| 国产精品亚洲精品| 久久99精品视频一区97| 久久成年人免费电影| 欧美一级bbbbb性bbbb喷潮片| 国产精品欧美风情| 欧美日韩国产一区二区三区| 久久成人人人人精品欧| 7777精品视频| 日韩精品视频在线播放| 欧美性色视频在线| 日韩在线精品一区| 欧美在线视频观看免费网站| 国产精品私拍pans大尺度在线| 日韩欧美成人区| 亚洲成**性毛茸茸| 国产aaa精品| 亚洲欧洲午夜一线一品| 国产极品精品在线观看| 日韩精品有码在线观看| 精品无人区太爽高潮在线播放| 成人女保姆的销魂服务| 日韩最新中文字幕电影免费看| 国产精品视频一区二区三区四| 亚洲国产精品嫩草影院久久| 国外成人在线视频| 欧美精品18videosex性欧美| 久久精品成人欧美大片| 91香蕉国产在线观看| 97视频免费观看| 欧美第一黄色网| 在线成人激情视频| 色狠狠久久aa北条麻妃| 国产精品第一视频| 国模叶桐国产精品一区| 欧美色图在线视频| 精品日韩视频在线观看| 国产精品成人一区二区| 两个人的视频www国产精品| 成人欧美一区二区三区在线| 日韩成人在线视频观看| 亚洲一区国产精品| 日韩中文字幕精品| 精品呦交小u女在线| 欧美国产亚洲精品久久久8v| 欧美日韩色婷婷| 国产成人一区二区三区电影| 日韩欧美亚洲国产一区| 欧美理论电影在线观看| 日韩免费在线免费观看| 国产极品jizzhd欧美| 国产精品久久婷婷六月丁香| 成人黄色免费网站在线观看| 日韩av日韩在线观看| 日韩免费在线看| 亚洲一区久久久| 尤物精品国产第一福利三区| 亚洲国产成人91精品| 成人av资源在线播放| 国产一区二区色| 日本午夜在线亚洲.国产| 欧美一性一乱一交一视频| 欧美夫妻性视频| 欧美高清理论片| 久久国产精品久久久| 一个人看的www久久|