我在视图控制器中添加了一个分段控件。我的viewdidLoad如下所示
self.navController = [[[UINavigationController alloc] init] autorelease];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Image", @""),
NSLocalizedString(@"Text", @""), nil]];
[segmentedControl setSelectedSegmentIndex:0];
[segmentedControl setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];
segmentedControl.frame = CGRectMake(0, 0, 400, 30);
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
self.navigationItem.titleView = segmentedControl;
[segmentedControl release];
[self.view addSubview:self.navController.view];
[super viewDidLoad];
只有导航栏会继续进行,而不会在其中进行任何分段控制。 有人可以帮忙,让我知道这里到底出了什么问题。
答案 0 :(得分:3)
您的导航控制器开始时没有根视图控制器 - 您正在将分段控件正确设置为视图控制器的标题视图,但您没有为导航控制器提供对该视图控制器的引用。你需要像这样初始化它:
self.navController = [[[UINavigationController alloc] initWithRootViewController:self] autorelease];