我正在尝试在UINavigationController
内显示UIPopoverController
,但由于某种原因我无法设置标题。
SearchViewController *searchView = [[[SearchViewController alloc] init] autorelease];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:searchView];
[popover presentPopoverFromBarButtonItem:_searchBarButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
我尝试在- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Change the title
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.text = @"Print / Email";
[label sizeToFit];
self.navigationItem.titleView = label;
}
return self;
}
我也尝试在- (void)viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
self.contentSizeForViewInPopover = CGSizeMake(320.0, 250.0f);
self.navigationItem.title = @"Print / Email";
self.title = @"Print / Email";
}
但在任何情况下标题都无效,我还在做错吗?
答案 0 :(得分:6)
编辑在UINavigationController广告中添加您的SearchViewController控制器,在UIPopoverController中,如下所示:
SearchViewController *searchView = [[[SearchViewController alloc] init] autorelease];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:searchView];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];
[popover presentPopoverFromBarButtonItem:_searchBarButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
现在在SearchViewController的viewDidLoad方法中:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Print / Email";
}
答案 1 :(得分:1)
尝试使用这种方式显示弹出控制器
SearchViewController *searchView = [[[SearchViewController alloc] init] autorelease];
UINavigationController *navCont=[[UINavigationController alloc] initWithRootViewController:searchView];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navCont];
[popover presentPopoverFromBarButtonItem:_searchBarButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
答案 2 :(得分:1)
你可以试试这个:
SearchViewController *searchView = [[[SearchViewController alloc] init] autorelease];
UINavigationController *_nav = [[[UINavigationController alloc] initWithRoot.....:searchView] autorelease];
然后将_nav放入popover。
每个UIViewController都有自己的标签栏和导航,但你应该初始化它们。然后你可以正确地使用它们。