UINavigationController里面的UIPopover导航按钮没有显示

时间:2013-10-04 10:30:32

标签: ios uinavigationcontroller ios7 uipopovercontroller

我有一个带有UIPopoverController的iPad应用程序,其中嵌套有UINavigationController,因此它可以有一个带有“完成”和“取消”按钮的标题栏。在iOS7中,默认情况下按钮没有显示出一些小故障(有时它们会在我再次旋转设备时重新出现,或者我认为如果我切换到另一个应用程序然后再返回)。奇怪的是,你仍然可以与他们互动,你只是看不到他们!有没有其他人经历过这个,如果有的话,你有解决方法吗?

KNMultiItemSelector * selector = [[KNMultiItemSelector alloc] initWithItems:sortedItems
                                                           preselectedItems:nil
                                                                      title:@"Select contacts"
                                                            placeholderText:@"Search"
                                                                   delegate:self];
selector.useTableIndex = YES;
selector.allowSearchControl = YES;
selector.modalPresentationStyle = UIModalPresentationFormSheet;

UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:selector];

selector.view.frame = CGRectMake(0, 0, self.view.frame.size.width - 40, self.view.frame.size.height - 40);
nav.contentSizeForViewInPopover = CGSizeMake(self.view.frame.size.width - 40, self.view.frame.size.height - 40);
self.popover = [[UIPopoverController alloc] initWithContentViewController:nav];
self.popover.delegate = self;
[self.popover presentPopoverFromRect:CGRectMake(self.view.frame.size.width * 0.5 + self.tableView.contentOffset.x, 20 + self.tableView.contentOffset.y, 0, 0)
                                        inView:self.view
                          permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];    

KMultiItemSelector initWithItems:方法初始化右键,如下所示:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(didFinish)];

1 个答案:

答案 0 :(得分:0)

事实证明,如果您在不是主线程的线程中创建弹出/导航控制器/嵌入式视图,则会发生这种情况。将它全部移动到主线程中,然后神奇地重新出现按钮。