關於在UIViewController頁面用代碼添加UINavigationBar的方法

轉自:http://www.cnblogs.com/pengyingh/articles/2355157.html 作者pengyingh


最近做東西設置界面需要用到這樣的結構,先說下大概步驟:

1.新建一個基於UITableViewController的類。(xib裏面應該已經有了tabview)

2.開始添加UINavigationBar。

在做這一步的時候遇到一些問題,困擾了我很久。其實就是我添加了UINavigationBar之後也顯示出來了,可是他會遮住tabview 的一部分,我也知道原因,是區域問題,但是由於剛開始做還不會,所以找了很多。

下面貼代碼

//解決問題的關鍵就下面的這段代碼

UIView *headerView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 320, 44)];
self.tableView.tableHeaderView = headerView;
[headerView release];

//加了上面的代碼之後tabview就向下移了44個像素,那剛好放上navbar
CGRect aScreenRect = [[UIScreen mainScreen] bounds];

//創建navbar
UINavigationBar *nav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, aScreenRect.size.width, 44)];
//創建navbaritem
UINavigationItem *NavTitle = [[UINavigationItem alloc] initWithTitle:@"詳細介紹"];

[nav pushNavigationItem:NavTitle animated:YES];

[self.view addSubview:nav];

//創建barbutton 創建系統樣式的
UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(navBackBt:)];

//設置barbutton
NavTitle.leftBarButtonItem = item;
[nav setItems:[NSArray arrayWithObject:NavTitle]];

[item release];
[NavTitle release];
[nav release];

這樣就OK了

發佈了2 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章