日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

navigationbar

發布時間:2025/6/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 navigationbar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IOS 入門開發之創建標題欄UINavigationBar的使用

?

?

??? IOS 開發有關界面的東西不僅可以使用代碼來編寫,也可以使用Interface Builder可視化工具來編寫。今天有個朋友問我這兩個有什么區別,首先說 說IB ,使用它編輯出來的控件其實底層還是調用代碼只是蘋果封裝出來讓開發者更好使用而已。它的優點是方便、快捷最重要的是安全,因為控件的釋放它會幫我們完成 不用手動釋放。缺點是多人開發不好維護,就好比誰寫的IB誰能看懂,別人看的話就比較費勁,不利于代碼的維護。兩種方式各有利弊,不過我個人還是比較喜歡 純代碼,因為任何程序語言,或者任何腳本語言,代碼和可視化工具比起來永遠是最底層的。





利用代碼在屏幕中添加一個標題欄,并且在標題欄左右兩方在添加兩個按鈕,點擊后響應這兩個按鈕。
這里設置標題欄的顯示范圍。

?

  • //創建一個導航欄?
  • UINavigationBar?*navigationBar?=?[[UINavigationBar?alloc]?initWithFrame:CGRectMake(0,?0,?320,?44)];??

  • ? 有了標題欄后,須要在標題欄上添加一個集合Item用來放置 標題內容,按鈕等。

    ?

  • //創建一個導航欄集合?
  • UINavigationItem?*navigationItem?=?[[UINavigationItem?alloc]?initWithTitle:nil];??
  • ?

    在這個集合Item中添加標題,按鈕。

    style:設置按鈕的風格,一共有3中選擇。
    action:@selector:設置按鈕點擊事件。

  • //創建一個左邊按鈕?
  • ??UIBarButtonItem?*leftButton?=?[[UIBarButtonItem?alloc]?initWithTitle:@"左邊"????
  • ????????????????????????????????????????????????????????????style:UIBarButtonItemStyleBordered????
  • ????????????????????????????????????????????????????????????target:self????
  • ????????????????????????????????????????????????????????????action:@selector(clickLeftButton)];???
  • ?
  • ??//創建一個右邊按鈕?
  • ??UIBarButtonItem?*rightButton?=?[[UIBarButtonItem?alloc]?initWithTitle:@"右邊"????
  • ????????????????????????????????????????????????????????????????style:UIBarButtonItemStyleDone????
  • ????????????????????????????????????????????????????????????????target:self????
  • ????????????????????????????????????????????????????????????????action:@selector(clickRightButton)];???
  • ??//設置導航欄內容?
  • ??[navigationItem?setTitle:@"雨松MOMO程序世界"];?


  • 將標題欄中的內容全部添加到主視圖當中。

    ?

  • //把導航欄添加到視圖中?
  • [self.view?addSubview:navigationBar];???


  • 最后將控件在內存中釋放掉,避免內存泄漏。

    ?

    ?

  • //釋放對象?
  • [navigationItem?release];???
  • [leftButton?release];???
  • [rightButton?release];?




  • 如圖所示:添加這兩個按鈕的點擊響應事件。

    ?

  • -(void)clickLeftButton?
  • {?
  • ?????
  • ????[self?showDialog:@"點擊了導航欄左邊按鈕"];?
  • ???
  • }?
  • ?
  • ?
  • -(void)clickRightButton?
  • {?
  • ?????
  • ????[self?showDialog:@"點擊了導航欄右邊按鈕"];?
  • ?????
  • }?
  • ?

    ?




    點擊后打開一個Dialog對話框,根據點擊不同的按鈕傳入不同的顯示內容。
    ?

  • -(void)showDialog:(NSString?*)?str?
  • {?
  • ????
  • ????UIAlertView?*?alert=?[[UIAlertView?alloc]?initWithTitle:@"這是一個對話框"?message:str?delegate:self?cancelButtonTitle:@"確定"?otherButtonTitles:?nil];?????
  • ????
  • ????[alert?show];???????
  • ????[alert?release];?
  • }?



  • 最后貼上完整的代碼

  • #import?"TitleViewController.h"?
  • ?
  • @implementation?TitleViewController?
  • ?
  • -?(void)didReceiveMemoryWarning?
  • {?
  • ????//?Releases?the?view?if?it?doesn't?have?a?superview.?
  • ????[super?didReceiveMemoryWarning];?
  • ?????
  • ????//?Release?any?cached?data,?images,?etc?that?aren't?in?use.?
  • }?
  • ?
  • #pragma?mark?-?View?lifecycle?
  • ?
  • ?
  • //?Implement?viewDidLoad?to?do?additional?setup?after?loading?the?view,?typically?from?a?nib.?
  • -?(void)viewDidLoad?
  • {?
  • ????[super?viewDidLoad];?
  • ?
  • ?
  • ????//創建一個導航欄?
  • ????UINavigationBar?*navigationBar?=?[[UINavigationBar?alloc]?initWithFrame:CGRectMake(0,?0,?320,?44)];???
  • ?????
  • ????//創建一個導航欄集合?
  • ????UINavigationItem?*navigationItem?=?[[UINavigationItem?alloc]?initWithTitle:nil];???
  • ?????
  • ????//創建一個左邊按鈕?
  • ????UIBarButtonItem?*leftButton?=?[[UIBarButtonItem?alloc]?initWithTitle:@"左邊"????
  • ??????????????????????????????????????????????????????????????style:UIBarButtonItemStyleBordered????
  • ??????????????????????????????????????????????????????????????target:self????
  • ??????????????????????????????????????????????????????????????action:@selector(clickLeftButton)];???
  • ?
  • ????//創建一個右邊按鈕?
  • ????UIBarButtonItem?*rightButton?=?[[UIBarButtonItem?alloc]?initWithTitle:@"右邊"????
  • ??????????????????????????????????????????????????????????????????style:UIBarButtonItemStyleDone????
  • ??????????????????????????????????????????????????????????????????target:self????
  • ??????????????????????????????????????????????????????????????????action:@selector(clickRightButton)];???
  • ????//設置導航欄內容?
  • ????[navigationItem?setTitle:@"雨松MOMO程序世界"];?
  • ?????
  • ?????
  • ????//把導航欄集合添加入導航欄中,設置動畫關閉?
  • ????[navigationBar?pushNavigationItem:navigationItem?animated:NO];??
  • ?????
  • ????//把左右兩個按鈕添加入導航欄集合中?
  • ????[navigationItem?setLeftBarButtonItem:leftButton];??
  • ????[navigationItem?setRightBarButtonItem:rightButton];?
  • ??????
  • ????//把導航欄添加到視圖中?
  • ????[self.view?addSubview:navigationBar];???
  • ?????
  • ?????
  • ????//釋放對象?
  • ????[navigationItem?release];???
  • ????[leftButton?release];???
  • ????[rightButton?release];?
  • ?
  • }?
  • ?
  • ?
  • -(void)clickLeftButton?
  • {?
  • ?????
  • ????[self?showDialog:@"點擊了導航欄左邊按鈕"];?
  • ???
  • }?
  • ?
  • ?
  • -(void)clickRightButton?
  • {?
  • ?????
  • ????[self?showDialog:@"點擊了導航欄右邊按鈕"];?
  • ?????
  • }?
  • ?
  • ?
  • -(void)showDialog:(NSString?*)?str?
  • {?
  • ????
  • ????UIAlertView?*?alert=?[[UIAlertView?alloc]?initWithTitle:@"這是一個對話框"?message:str?delegate:self?cancelButtonTitle:@"確定"?otherButtonTitles:?nil];?????
  • ????
  • ????[alert?show];???????
  • ????[alert?release];?
  • }?
  • ?
  • -?(void)viewDidUnload?
  • {?
  • ????[super?viewDidUnload];?
  • ????//?Release?any?retained?subviews?of?the?main?view.?
  • ????//?e.g.?self.myOutlet?=?nil;?
  • }?
  • ?
  • -?(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation?
  • {?
  • ????//?Return?YES?for?supported?orientations?
  • ????return?(interfaceOrientation?==?UIInterfaceOrientationPortrait);?
  • }?
  • ?
  • @end?
  • 轉載于:https://www.cnblogs.com/yulang314/p/3568380.html

    總結

    以上是生活随笔為你收集整理的navigationbar的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。