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



我想以编程方式为我的表视图控制器类创建导航栏,你能帮我吗?我修不好!

提前感谢!我真的是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

您不为表视图控制器创建导航栏,您应该创建一个导航控制器并将表视图控制器设置为其根

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

这三行

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.mdidFinishLaunchingWithOptions方法

最新更新