UIBarbuttonItem

APPDelegate:

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

? ? self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

? ? //創建主界面,導航欄的第一個頁面

? ? FirstViewController *fvc = [[FirstViewController alloc]init];

?? ?

? ? //創建一個導航欄控制器

? ? UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:fvc];

? ? nav.navigationBar.barTintColor = [UIColor redColor];

? ? self.window.rootViewController = nav;//設置根控制器

? ? [self.window makeKeyAndVisible];

? ? return YES;

}

?

//給導航欄添加左右按鈕

? ? UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]initWithTitle:@"cancel" style:UIBarButtonItemStyleDone target:nil action:nil];

? ? self.navigationItem.leftBarButtonItem = cancelButton;

? ? self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor];

?? ?

? ? UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]initWithTitle:@"next" style:UIBarButtonItemStyleDone target:self action:@selector(goToSecond)];

? ? self.navigationItem.rightBarButtonItem = nextButton ;

? ? self.navigationItem.rightBarButtonItem.tintColor = [UIColor whiteColor];

?? ?

? ? UILabel *yLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 44)];

? ? yLabel.backgroundColor = [UIColor yellowColor];

? ? yLabel.text = @"新浪";

? ? yLabel.font = [UIFont systemFontOfSize:22];

? ? yLabel.textColor = [UIColor redColor];

? ? yLabel.textAlignment = NSTextAlignmentCenter;

? ? self.navigationItem.titleView = yLabel;

-(void)goToSecond{

? ? //創建即將顯示的界面

? ? SecondViewController *svc = [[SecondViewController alloc]init];

? ? //使用導航欄控制器切換頁面

//? ? [self.navigationController presentViewController:svc animated:YES completion:nil];

? ? //push入棧 將當前的界面入棧,這個界面消失,將新的界面推送出來

? ? //pop 將當前的界面消失,從棧上最上面的界面(最后一個界面)出棧

? ? //設置默認提供的返回按鈕的標題

? ? UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];

? ? self.navigationItem.backBarButtonItem = backItem; ?

? ? [self.navigationController showViewController:svc sender:self];

}

?

-(void)viewWillAppear:(BOOL)animated{

? ? [super viewWillAppear:animated];

? ? //顯示工具欄

? ? self.navigationController.toolbarHidden = NO;

? ? self.navigationController.toolbar.barTintColor = [UIColor greenColor];

? ? //默認工具欄高44,導航欄高44

? ? //可以隱藏導航欄

//? ? self.navigationController.navigationBarHidden = YES;

}

?SecondViewController類.m

-(void)viewDidLoad{

? ? [super viewDidLoad];

? ? UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

? ? [btn setTitle:@"back" forState:UIControlStateNormal];

? ? btn.frame = CGRectMake(100, 200, 120, 50);

? ? [btn addTarget:self action:@selector(goback) forControlEvents:UIControlEventTouchUpInside];

? ? btn.tintColor = [UIColor whiteColor];

? ? [self.view addSubview:btn];

}

-(void)goback{

?? ? //present 在現有的界面上蓋上一層,dismissViewController刪除

? ? //如果之前使用 的push 那么用pop

? ? [self.navigationController popViewControllerAnimated:YES];

? ? [self dismissViewControllerAnimated:YES completion:nil];

}

?

拓:navigationbar 上加多個button:

UIView *rightBarView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 60, 31)];UIButton *phonebutton = [UIButton buttonWithType:UIButtonTypeCustom];phonebutton.frame=CGRectMake(0, 5, 25, 25);[phonebutton setImage:[UIImage imageNamed:@"phone.png"] forState:UIControlStateNormal];[phonebutton addTarget:self action:@selector(phoneclick)forControlEvents:UIControlEventTouchDown];[rightBarView addSubview:phonebutton];UIButton *mapbutton = [UIButton buttonWithType:UIButtonTypeCustom];[mapbutton setFrame:CGRectMake(30, 5, 25, 25)];[mapbutton setImage:[UIImage imageNamed:@"c_address.png"] forState:UIControlStateNormal];[mapbutton addTarget:self action:@selector(mapclick)forControlEvents:UIControlEventTouchDown];[rightBarView addSubview:phonebutton];[rightBarView addSubview:mapbutton];rightBarView.backgroundColor=[UIColor clearColor];UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc]initWithCustomView:rightBarView];self.navigationItem.rightBarButtonItem = rightBtn;

?更簡便的方法:

轉載于:https://www.cnblogs.com/yangqinglong/p/5363708.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458101.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458101.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458101.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度殘差網絡ResNet解析

ResNet在2015年被提出,在ImageNet比賽classification任務上獲得第一名,因為它“簡單與實用”并存,之后很多方法都建立在ResNet50或者ResNet101的基礎上完成的,檢測,分割,識別等領域都紛紛使用ResNet&#x…

Oracle-一個中文漢字占幾個字節?

Oracle 一個中文漢字占用幾個字節 Oracle 一個中文漢字 占用幾個字節,要根據Oracle中字符集編碼決定!!! 1. 如果定義為VARCHAR2(32 CHAR),那么該列最多就可以存儲32個漢字,如果定義字段為VARCHAR2(32) 或VARCHAR2(32 B…

基于深度學習的目標檢測技術演進:R-CNN、Fast R-CNN、Faster R-CNN

object detection我的理解,就是在給定的圖片中精確找到物體所在位置,并標注出物體的類別。object detection要解決的問題就是物體在哪里,是什么這整個流程的問題。然而,這個問題可不是那么容易解決的,物體的尺寸變化范…

iPhone屏幕尺寸/launch尺寸/icon尺寸

屏幕尺寸 6p/6sp 414 X 7366/6s 375 X 6675/5s 320 X 568 4/4s 320 X 480launch尺寸 6p/6sp 1242 X 2208 3x6/6s 750 X 1334 2x5/5s 640 X 1136 2x4/4s 640 X 960 2x仔細觀察會發現l…

CNN的發展歷史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet)

歡迎轉載,轉載請注明:本文出自Bin的專欄blog.csdn.net/xbinworld。 關于卷積神經網絡CNN,網絡和文獻中有非常多的資料,我在工作/研究中也用了好一段時間各種常見的model了,就想著簡單整理一下,以備查閱之需…

讀取csv格式的數據

1.直接上代碼&#xff0c;關鍵是會用 2.代碼如下&#xff1a; <?php #添加推薦到英文站 $file fopen(code.csv,r); while ($data fgetcsv($file)) { //每次讀取CSV里面的一行內容 //print_r($data); //此為一個數組&#xff0c;要獲得每一個數據&#xff0c;訪問數組下…

如何在VMWare的Ubuntu虛擬機中設置共享文件夾

親測有效&#xff1a;Ubuntu18.04 LTS、虛擬機VMware Workstation 14 Pro 14.1.3 build-9474260、Window7 自己的第一篇博文&#xff0c;由于時&#xff08;shuǐ&#xff09;間&#xff08;png&#xff09;原&#xff08;yǒu&#xff09;因&#xff08;xin&#xff09;&…

容器+AOP實現動態部署(四)

上篇咱們介紹了容器和AOP的結合&#xff0c;結合后怎樣將對象增強服務并沒有過多的說明&#xff0c;這里將詳細說明怎樣將對象 進行增強 &#xff0c;達到一個一對多和多對多的增強方式 先從簡單的方式說起 /** *JDK代理類&#xff0c;實現動態調用對象方法 */ public class JD…

caffe專題五——回歸中——檢測框架

https://blog.csdn.net/runner668/article/details/80436850

深入理解卷積層,全連接層的作用意義

有部分內容是轉載的知乎的&#xff0c;如有侵權&#xff0c;請告知&#xff0c;刪除便是&#xff0c;但由于是總結的&#xff0c;所以不一一列出原作者是who。 再次感謝&#xff0c;也希望給其他小白受益。 首先說明&#xff1a;可以不用全連接層的。 理解1&#xff1a; 卷…

用ionic快速開發hybird App(已附源碼,在下面+總結見解)

用ionic快速開發hybird App&#xff08;已附源碼,在下面總結見解&#xff09; 1.ionic簡介 ionic 是用于敏捷開發APP的解決方案。核心思路是&#xff1a;利用成熟的前端開發技術&#xff0c;來寫UI和業務邏輯。也就是說&#xff0c;就是一個H5網站&#xff0c;這個區別于react-…

為什么要使用工廠模式

工廠的作用相當于幫助我們完成實例化的操作。 優勢1&#xff1a;一般在代碼中&#xff0c;實例化一個類A是直接new A&#xff08;&#xff09;&#xff0c;假如類A是一個完全獨立的類&#xff0c;沒有相似類&#xff0c;則沒有必要使用工廠模式&#xff0c;直接new A&#xff…

css各兼容應該注意的問題

1.div布局在ie瀏覽器和chrome瀏覽器&#xff0c;firefox瀏覽器不同&#xff0c;不如在div里面嵌套3個div&#xff0c;分別左中右&#xff0c;左邊div的pading和margin在ie8以上都是幾乎相同&#xff0c;ie8以下做內邊距x2&#xff0c;在中間的div在chrome和fierfox中默認在左邊…

轉 C++宏定義詳解

來自&#xff1a;傳送門 C宏定義詳解 一、#define的基本用法 #define是C語言中提供的宏定義命令&#xff0c;其主要目的是為程序員在編程時提供一定的方便&#xff0c;并能在一定程度上提高程序的運行效率&#xff0c;但學生在學習時往往不能 理解該命令的本質&#xff0c;總是…

acm之vim的基本配置

http://www.kuangbin.net/archives/vim-acmicpc 轉載于:https://www.cnblogs.com/akrusher/articles/5402426.html

40 個重要的 HTML5 面試問題及答案

2019獨角獸企業重金招聘Python工程師標準>>> 介紹 我是一個ASP.NET MVC開發人員。最近當我找工作的時候&#xff0c;我發現很多問題都是圍繞HTML 5和它的新功能展開的。所以&#xff0c;下面我將列出40個有助于你提高相關HTML 5知識的重要問題。 這些問題并不能保證…

Java常見Jar包的用途

jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用來發現、查找和實現可插入式接口&#xff0c;提供一些一般類實例化、單件的生命周期管理的常用方法. jaxrpc.jar Axis運行所需要的組件包 saaj.jar 創建到端點的點到點連接的方法、創建并處理SOAP消息和附件的方法…

車流檢測之halcon光流法算法實現

* This example program shows how to use optical_flow_mg to compute the optical flow in an image sequence and how to segment the optical flow. *這個示例程序顯示了如何使用._flow_mg來計算圖像序列中的光流&#xff0c;以及如何分割光流。 dev_update_off () dev_…

利用光學流跟蹤關鍵點---30

原創博客:轉載請標明出處:http://www.cnblogs.com/zxouxuewei/ 關鍵點&#xff1a;是多個方向上亮度變化強的區域。 opencv:版本是2.4. 光學流函數&#xff1a;calcOpticalFlowPyrLK()。&#xff08;關鍵點偵測器使用goodFeaturesToTrack()&#xff09;二者結合。 相應的啟動文…