1. 程式人生 > >iOS經典講解之在navigationBar上面新增多個任意控制元件

iOS經典講解之在navigationBar上面新增多個任意控制元件

今天這道菜主要是在navigationBar上面加入任意數量的任何控制元件。

(轉載請保留此文字:本文來源:[[iphone開發私房菜_1_] 在navigationBar上面新增多個任意控制元件 http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080474.aspx] write by Gray.Luo [email protected])     基本的navigationBar上面就左,中,右 3個位置,而且預設也是新增UIBarButtonItem/UINavigationBar按鈕,但是很多開發過程中會遇到在上面新增更多其它控制元件,經過研究後,所以特寫此文,算是做個筆記,也希望能夠幫助朋友解決正在解決的這方面的問題。
1.在固定位置新增UIBarButtonItem
  1. UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]  
  2.                 initWithTitle:@"myButton"
  3.                 style:UIBarButtonItemStyleBordered  
  4.                 target:self   
  5.                 action:@selector(action)]autorelease];  
  6. self.navigationItem.leftBarButtonItem = myButton;  
  7. //self.navigationItem.rightBarButtonItem = myButton;
  8. //self.navigationItem.backBarButtonItem = myButton;
  9. [myButton release];  

  NavigationItem類有以下一些成員:

-title

-titleview

-backBarButtonItem//這是有返回上一級事件的後退按鈕

-rightBarButtonItem

-leftBarButtonItem

2.在任意位置新增一個UIToolbar疊加到navigationBar上,然後設定其背景透明,則可以實現在上這個navigationBar 上面新增多個按鈕的效果
  1. UIToolbar *mycustomToolBar;  
  2. NSMutableArray *mycustomButtons = [[NSMutableArray alloc] init];  
  3. UIBarButtonItem *myButton1 = [[[UIBarButtonItem alloc]  
  4.                 initWithTitle:@"Get5"
  5.                 style:UIBarButtonItemStyleBordered  
  6.                 target:self   
  7.                 action:@selector(action)]autorelease];  
  8. myButton1.width = 40;  
  9. [mycustomButtons addObject: myButton1];  
  10. UIBarButtonItem *myButton2 = [[[UIBarButtonItem alloc]  
  11.                 initWithTitle:@"Play5"
  12.                 style:UIBarButtonItemStyleBordered  
  13.                 target:self   
  14.                 action:@selector(action)]autorelease];  
  15. myButton2.width = 40;  
  16. [mycustomButtons addObject: myButton2];   
  17. mycustomToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f,320.0f, 44.0f)];  
  18. //mycustomToolBar.center = CGPointMake(160.0f,200.0f);
  19. mycustomToolBar.barStyle = UIBarStyleDefault;  
  20. [mycustomToolBar setItems:mycustomButtons animated:YES];  
  21. [mycustomToolBar sizeToFit];      
  22. [self.view addSubview:mycustomToolBar];  
  23. //self.navigationItem.titleView = mycustomToolBar;//與上一句都可實現在上面疊加工具條
  24. //將toolbar的顏色設定為透明,總之使用兩個控制元件疊加完美
  25. [mycustomToolBar release];  
  26. [mycustomButtons release];  
 

這裡是在UIToolbar 上面新增UIBarButtonItem,然而我們很多時候可能會新增其它控制元件,如:switch,label等等,所以在UIToolbar上面如何新增各種控制元件,就參考下一篇文章。

3.在任意位置新增UISegmentedControl
  1. UISegmentedControl * mySegment;  
  2. mySegment = [[UISegmentedControl alloc]  
  3.                initWithFrame:CGRectMake(5.0f, 10.0, 60.0f, 30.0f)];  
  4. [mySegment insertSegmentWithTitle:@"mySeg1" atIndex:0 animated:YES];   
  5. [get5Segment insertSegmentWithTitle:@"mySeg2" atIndex:1 animated:YES];    
  6. mySegment.segmentedControlStyle = UISegmentedControlStyleBar;  
  7. [mySegment addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];  
  8. mySegment.selectedSegmentIndex = -1;  
  9. [self.navigationController.navigationBar addSubview: mySegment];  
  10. [mySegment release];  
如果要在navigationBar實現多個按鈕,而且某個功能塊的類似按鈕需要挨在一起,用segment實現還是很不錯,用UIBarButtonItem實現的話,按鈕間總是有一個間隔。 4.在任意位置新增UILabel
  1. UILabel* myLabel;  
  2. myLabel=[[UILabel alloc] initWithFrame:CGRectMake(100.0f, 14.0f, 100.0f, 10.0f)];  
  3. myLabel.font=[UIFont systemFontOfSize:10];  
  4. myLabel.backgroundColor = [UIColor clearColor];  
  5. [self.navigationController.navigationBar addSubview: myLabel];  
  6. [myLabel release];  
  5.在任意位置新增UIProgressView
  1.     UIProgressView *myProgress;  
  2. myProgress =[[UIProgressView alloc] initWithFrame:CGRectMake(80.0f, 28.0f, 150.0f, 8.0f)];  
  3. [self.navigationController.navigationBar addSubview: myProgress];  
  4. [myProgress release];    

相關推薦

iOS經典講解navigationBar上面增多任意控制元件

今天這道菜主要是在navigationBar上面加入任意數量的任何控制元件。 (轉載請保留此文字:本文來源:[[iphone開發私房菜_1_] 在navigationBar上面新增多個任意控制元件 http://blog.csdn.net/ipromiseu/archiv

navigationBar上面增多任意控制元件

基本的navigationBar上面就左,中,右 3個位置,而且預設也是新增UIBarButtonItem/UINavigationBar按鈕,但是很多開發過程中會遇到在上面新增更多其它控制元件,經過研究後,所以特寫此文,算是做個筆記,也希望能夠幫助朋友解決正在解決的這方面

iOS經典講解[self class]和[super class]的區別

作者:Loving_iOS 在objc中的類實現中經常看到這兩個關鍵字”self”和”super”,但他們的區別表現在各個方面。 以下面的程式碼為例: @interface Father:NSObject { NSString* name; } - (void)se

iOS經典講解多執行緒應用場景

<pre name="code" class="objc"> 通過下面一個例子來了解一下多執行緒的應用場景,我們可以通過點選按鈕來開始或者暫停動畫的播放,但是當我們點選另一個按鈕時, 就會執行一個方法,在該方法中迴圈列印一個很大的數字,在列印過程中,再通過點

iOS經典講解UIWebView載入PDF不顯示電子簽章解決方案

一、對於iOS 12系統可直接使用WKWebView 載入pdf url 即可,便會顯示電子簽章,WKWebView是從 iOS 8.0 和 OS X 10.10 開始的; 二、對於iOS 12以下版本,有其他的解決方案: iOS版本 < 12的情況可以使用PDF.

iOS經典講解UIButton改變圖片和文字的位置

作者:劉新林 UIButton的image和titleLabel是靠在一起居中顯示的,預設image在左,titleLabel在右,但是有些情況要求兩者交換位置顯示,可以通過 @property(nonatomic) UIEdgeInsets i

iOS經典講解App上架(可供銷售)後App Store搜尋不到的解決辦法

App好不容易稽核通過了,手動釋出版本後,不斷地在App Store搜尋,就是搜不到,都是蘋果的快取機制惹的禍。急不急,一般情況下發布版本後幾個小時或者更短時間App Store就會顯示,但是有的時候甚至一兩天都沒有,怎麼辦,尋求蘋果客服顧問幫助當然是一種最保險的方法。但是對

iOS經典講解實現App訊息推送功能(二)

作者:Loving_iOS 上一篇部落格iOS經典講解之實現App訊息推送功能(一)講解了實現訊息推送的的準備工作,接下來我們來講解第二部分的內容,實現具體的推送及程式碼示例。 訊息推送的第三方平臺有很多,這裡我們使用極光推送平臺,註冊極光推送平臺的賬號。 登陸後進入控

iOS經典講解妙用UITextView

// 新增textView - (void)addTextView { //UITextView可以使用父類的初始化方法initWithFrame:也可使用iOS7.0出現的自己獨有的的初始化方法initWithFrame:textContainer: //

iOS經典講解使用instruments檢測記憶體

這裡是原文 入門 為了節省大家的時間,提供一個演示的Demo給大家。程式碼傳送門. 下載後解壓然後用Xcode開啟。編譯執行APP後 然後在搜尋框內輸入任意詞彙,點選結果你會看到下面的結果 正如你所見的,這個app很簡單.程式其實呼叫的是Flickr的AP

C#WinForm基礎 增多窗體

       慈心積善融學習,技術願為有情學。善心速造多好事,前人栽樹後乘涼。我今於此寫經驗,願見文者得啟發。 感恩曾經幫助過 心少樸 的人。 C#優秀,值得學習。Winform,WPF 都可以關

js 動態增多表單控制元件 div

<script type="text/javascript">  var p=1; function CreateUpload()     {         p++;         var div=document.createElement('div');         var html

iOS Swift百度地圖 增多標註

搞了一天終於把新增多個標註做出來了,又深刻的反應了寫程式碼一味的copy,不知其所以然的後果太嚴重,一點錯誤找個大半天,好了,不過多bb,說說新增多個標註要注意的一些東西吧。 首先,新增大頭針的方法要實現在_mapview.delegate = self 之後,否則過早添加

SQL經典講解配置SQL Server伺服器屬性

為了確保SQL Server 伺服器安全、穩定、高效地執行,應對伺服器屬性進行優化配置,主要從記憶體、安全性、資料庫設定和許可權等4個方面根據具體業務需求進行重新設定。 啟動SSMS主介面,在物件資源管理器中點選滑鼠右鍵,選擇“屬性”,開啟“伺服器屬性視窗”,對伺服器的記憶

iOS開發,tableView側滑刪除的實現,或者增多側滑顯示按鈕

如果想要實現簡單的刪除操作,1 + 2 + 4方法就可以實現 ,如果你要滑動出現多個操作按鈕的話,就要實現方法5了,第五個方法說白了就是集合了前幾個方法,而且可以新增多個按鈕,如果用第5個方法,1、2、4方法可以不實現 //1 - (BOOL)tableView:(UITa

ios開發時,在Xcode中增多targets進行版本控制,管理多相同內容的專案

 在ios開發時,我們經常會遇到對同一個app開發多個版本(Pro、Lite、Free)的情況,這裡就涉及到xcode裡通過新增多個targets來進行版本控制的問題了,下面就簡單說明一下: 點選左側的工程名稱,右側會出現PROJECT和TARGETS,點選你現在的target,假如叫A,右鍵彈出選單中,選擇

centos批量增多IP地址

在/etc/sysconfig/network-scripts/中新建檔案ifcfg-eth0-range0   vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0   輸入以下檔案內容格式: &nb

python 列表list和字典dict同時增多值,分別用extend、update方法:

>>> d = [2,3,4] >>> e = [1,2,3] >>> d.extend(e)  # 用列表用extend()方法 >>> d [2, 3, 4, 1, 2, 3]   >>&

 (轉)windows一臺電腦增多git賬號

  概述 電腦上已經配置了github的ssh連線。現在又有一個不同的git賬戶,也就是要在一臺電腦上配置兩個git賬號。 下面記錄一下我配置的方法。 取消git全域性配置 之前配置github的時候,用命令 git config --golbal u

如何在同一主機中增多homestead並行開發

參考源 https://blog.csdn.net/smm188/article/details/79356150 1,在專案目錄 git clone homestead 後(見上面流程中的第四步),找到 homestead/scripts/homestead.rb 檔案,將裡面所有的 homestead-