【发布时间】:2015-01-19 05:02:00
【问题描述】:
我有一个Add View,当你点击Category时,会执行以下代码
- (void)categoryTapped {
CategoryGroupViewController *categoryGroupViewController = [[CategoryGroupViewController alloc] initWithNibName:@"CategoryGroupViewController" bundle:nil];
[self presentViewController:categoryGroupViewController animated:YES completion:nil];
}
CategoryGroupViewController.h 看起来像
@interface CategoryGroupViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UINavigationController *navigationController;
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end
CategoryGroupViewController.m 看起来像
#import "CategoryGroupViewController.h"
#import "Helper.h"
static NSString *CellIdentifier = @"Cell";
@interface CategoryGroupViewController ()
@property(nonatomic, strong) NSArray *categories;
@end
@implementation CategoryGroupViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// (todo) should come from API
self.categories = @[@"Food & Drink", @"Utilities"];
}
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier];
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSLog(@"categoryGroup View loaded");
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self];
self.navigationController.title = @"Pick Category";
}
...
}
当我运行我的应用程序时,我在日志中看到以下内容
2014-11-20 21:29:53.589 myapp-ios[30332:70b] categoryGroup View loaded
但在模拟器上,我看到了
为什么我看不到NavigationController?
【问题讨论】:
-
您在使用情节提要吗?导航控制器可以从那里完全“关闭”..
-
我认为你只展示了
CategoryGroupViewController,它不是导航控制器,所以你想展示一个视图控制器,将它设置为导航控制器的根视图控制器 -
检查storyboard中是否有导航控制器。
标签: ios iphone ios7 uinavigationcontroller