在objective-C中以编程方式为tableView创build导航栏
我想以编程方式为我的表视图控制器类创build导航栏,你可以帮我吗? 我无法修复它!
提前致谢! 我真的很新的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
你不为表视图控制器创build一个导航栏,你应该做的是创build一个导航控制器,并设置表视图控制器作为它的根
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.m didFinishLaunchingWithOptions方法中