最近做東西設置界面需要用到這樣的結構,先說下大概步驟:
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個像素,那剛好放上navbarCGRect 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了