iOS-UINavigation

注意:::導(dǎo)航欄的背景圖片 必須符合 width = 44/64乎澄,如果不讓背景圖片充滿上面的狀態(tài)欄突硝,就必須是44的。
如果導(dǎo)航條加了背景圖三圆,那坐標(biāo)原點(diǎn)在導(dǎo)航條下方狞换。如果不加避咆,坐標(biāo)原點(diǎn)不變舟肉。

/// 導(dǎo)航欄的封裝

- (void)setItemWithController:(UIViewController *)viewController title:(NSString *)title image:(NSString *)image selectImage:(NSString *)selectImage
{
    viewController.tabBarItem.title = title;
    viewController.tabBarItem.image = [[UIImage imageNamed:image] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    viewController.tabBarItem.selectedImage = [[UIImage imageNamed:selectImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    
    viewController.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
    
    NSDictionary *attributes = @{NSForegroundColorAttributeName:[UIColor orangeColor]};
    [viewController.tabBarItem setTitleTextAttributes:attributes forState:UIControlStateSelected];
    
    GJFNavigatuonController *nvc = [[GJFNavigatuonController alloc]initWithRootViewController:viewController];
    nvc.navigationBar.barTintColor = [UIColor orangeColor];
    [self addChildViewController:nvc];
}






    //注意: 界面原點(diǎn)在哪兒
    //  導(dǎo)航中加了背景圖, 原點(diǎn)導(dǎo)航下方
    //  沒有加背景圖, 導(dǎo)航條半透明, 原點(diǎn)屏幕左上角
    UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
    testLabel.text = @"test";
    testLabel.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:testLabel];
    
    self.view.backgroundColor = [UIColor redColor];
    
    
    //設(shè)置導(dǎo)航條
    //  self表示當(dāng)前界面
    //  self.navigationController 當(dāng)前界面所在導(dǎo)航控制器
    //參數(shù)2: 表示導(dǎo)航條狀態(tài)(橫屏, 豎屏)
    //注意: 圖片兩種大小
    //  如果高度44, 只顯示在導(dǎo)航欄區(qū)域
    //  如果高度64, 擴(kuò)展到狀態(tài)欄
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg.png"] forBarMetrics:UIBarMetricsDefault];
    
    //設(shè)置導(dǎo)航條上的控件
    //注意: 每個(gè)視圖控制器有屬性  self.navigationItem
    //  每個(gè)界面self.navigationItem, 導(dǎo)航條顯示item中數(shù)據(jù)
    //設(shè)置標(biāo)題
    self.title = @"Main界面";
    self.navigationItem.title = @"主界面";
    
    //注意: 添加不同顏色, 不同字體的title
    //  創(chuàng)建Label設(shè)置為self.navigationItem.titleView
    
    //設(shè)置標(biāo)題為為圖片
    //  類型: UIView *
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 60, 35)];
    imageView.image = [UIImage imageNamed:@"logo_title.png"];
    self.navigationItem.titleView = imageView;
    
    //導(dǎo)航條左側(cè)添加按鈕
    //UIBarButtonItem常見3種(系統(tǒng)樣式,自定義,文本)
    //UIBarButtonItem *textItem = [[UIBarButtonItem alloc] initWithTitle:@"分類" style:UIBarButtonItemStylePlain target:self action:@selector(dealConfig:)];
    //UIBarButtonItem *systemItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(dealConfig:)];
    //自定義按鈕
    UIButton *configButton = [UIButton buttonWithType:UIButtonTypeCustom];
    configButton.frame = CGRectMake(0, 0, 45, 30);
    [configButton setBackgroundImage:[UIImage imageNamed:@"main_left_nav.png"] forState:UIControlStateNormal];
    [configButton addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *custumItem = [[UIBarButtonItem alloc] initWithCustomView:configButton];
    self.navigationItem.leftBarButtonItem = custumItem;
    
    UIButton *photoButton = [UIButton buttonWithType:UIButtonTypeCustom];
    photoButton.frame = CGRectMake(0, 0, 45, 30);
    [photoButton setBackgroundImage:[UIImage imageNamed:@"main_right_nav.png"] forState:UIControlStateNormal];
    [photoButton addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:photoButton];
    self.navigationItem.rightBarButtonItem = rightItem;
    
    
    //添加一個(gè)按鈕, 打開新的界面
    __weak typeof (self) ws = self;
    //__weak MainViewController* ws = self;
    [self.view addSystemButtonWithFrame:CGRectMake(100, 100, 100, 30) title:@"新界面" action:^(ZTButton *button) {
        
        CategoryViewController *cvc = [[CategoryViewController alloc] init];
        //打開新界面
        [ws.navigationController pushViewController:cvc animated:YES];
        
    }];
    
    
    //顯示工具欄
    //導(dǎo)航控制器默認(rèn)有一個(gè)工具欄, 默認(rèn)隱藏
    self.navigationController.toolbarHidden = YES;
    
    //添加按鈕
    //
    UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
    UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:nil];
    UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];
    //創(chuàng)建空白item
    //UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    UIBarButtonItem *spaceCustumItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
    spaceCustumItem.width = 100;
    

    self.toolbarItems = @[item1,spaceCustumItem,item2,spaceCustumItem,item3]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市查库,隨后出現(xiàn)的幾起案子路媚,更是在濱河造成了極大的恐慌,老刑警劉巖樊销,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件整慎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡围苫,警方通過查閱死者的電腦和手機(jī)裤园,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剂府,“玉大人拧揽,你說我怎么就攤上這事∠僬迹” “怎么了淤袜?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)衰伯。 經(jīng)常有香客問我铡羡,道長(zhǎng),這世上最難降的妖魔是什么意鲸? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任烦周,我火速辦了婚禮,結(jié)果婚禮上怎顾,老公的妹妹穿的比我還像新娘论矾。我一直安慰自己,他們只是感情好杆勇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布贪壳。 她就那樣靜靜地躺著,像睡著了一般蚜退。 火紅的嫁衣襯著肌膚如雪闰靴。 梳的紋絲不亂的頭發(fā)上彪笼,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音蚂且,去河邊找鬼配猫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杏死,可吹牛的內(nèi)容都是我干的泵肄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼淑翼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼腐巢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玄括,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤冯丙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后遭京,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胃惜,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年哪雕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了船殉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斯嚎,死狀恐怖利虫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情孝扛,我是刑警寧澤列吼,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站苦始,受9級(jí)特大地震影響寞钥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜陌选,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一理郑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咨油,春花似錦您炉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春冀膝,著一層夾襖步出監(jiān)牢的瞬間唁奢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工窝剖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麻掸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親啰扛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案诚隙? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1淫痰,想要解決就用__block...
    炙冰閱讀 2,486評(píng)論 1 14
  • 自看燕過回廊烈评, 經(jīng)不住幾多離殤火俄。 昔日別時(shí)寒陽, 只言休嘆錦瑟曲調(diào)讲冠。 燕自南徘北徊牽強(qiáng)瓜客, 終不負(fù)流光似水輕佻。 誰...
    往生雪閱讀 366評(píng)論 0 2
  • 2017年9月25日 晴 星期一 今天又是周一竿开,周一早晨的時(shí)間是最緊張的谱仪,每次我們娘倆都起的很早,因...
    宋雯楠媽媽閱讀 143評(píng)論 0 0