在objective-C中以编程方式为tableView创建导航栏

时间:2012-07-18 08:19:06

标签: objective-c ios storyboard

我想以编程方式为我的表视图控制器类创建导航栏,请你帮忙吗? 我无法解决它!

提前致谢! 我是iOS编程的新手!

这是我的表视图控制器类的代码

 @implementation CheckedInOut

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
    // Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];

}

- (void)viewDidUnload
{
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
 {
 return 0;
 }

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
 return 0;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

// Configure the cell...

 return cell;
}
#pragma mark - Table view delegate

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
/*
     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib               name#>" bundle:nil];
 // ...
 // Pass the selected object to the new view controller.
 [self.navigationController pushViewController:detailViewController animated:YES];
 */
}

@end

2 个答案:

答案 0 :(得分:4)

您没有为表视图控制器创建导航栏,您应该做的是创建导航控制器并将表视图控制器设置为其根

UITableViewController *myTableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *tableViewNavigationController = [[UINavigationController alloc] initWithRootViewController:myTableViewController];

//use the navigation controller here instead of how you had used the table view controller

答案 1 :(得分:0)

这三行

ViewController *vc = [[ViewController alloc]init];// or UITableVC as which VC you have in your file
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:vc];
    [self.window addSubview:navController.view]; // this is an important line if missed out dont show navController

后应添加

 [self.window makeKeyAndVisible];
appDelegate.m didFinishLaunchingWithOptions 方法