Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone ipad中popover控制器的转换_Iphone_Ipad_Uinavigationcontroller_Uipopovercontroller - Fatal编程技术网

Iphone ipad中popover控制器的转换

Iphone ipad中popover控制器的转换,iphone,ipad,uinavigationcontroller,uipopovercontroller,Iphone,Ipad,Uinavigationcontroller,Uipopovercontroller,当我点击这个按钮时,会出现一个弹出窗口,用于在视图中搜索文本。但是当我键入god时,带有go的句子会出现在弹出窗口控制器tableviewcell中,当我点击该单元格时,搜索结果会显示在弹出窗口中,它不会重定向到mainvieww。我的代码或弹出窗口控制器是 - (void)Searchpage:(id)sender { searchpage* popoverContent = [[searchpage alloc] i

当我点击这个按钮时,会出现一个弹出窗口,用于在视图中搜索文本。但是当我键入god时,带有go的句子会出现在弹出窗口控制器tableviewcell中,当我点击该单元格时,搜索结果会显示在弹出窗口中,它不会重定向到mainvieww。我的代码或弹出窗口控制器是

- (void)Searchpage:(id)sender {
    searchpage* popoverContent = [[searchpage alloc]
                                  init];    
    UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:popoverContent] autorelease];

    //resize the popover view shown
    //in the current view to the view's size
    popoverContent.contentSizeForViewInPopover =
    CGSizeMake(320,650);

    //create a popover controller
    self.popoverController = [[UIPopoverController alloc]
                              initWithContentViewController:navigationController];
    //present the popover view non-modal with a
    //refrence to the button pressed within the current view
    [self.popoverController presentPopoverFromRect:CGRectMake(600, 0, 0, 0)
                                            inView:self.view
                          permittedArrowDirections:UIPopoverArrowDirectionAny
                                          animated:YES];

    //release the popover content

    [popoverContent release];    

}
在搜索页面popover controller中,我将此代码重定向到主视图

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
    ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil];


    [self.navigationController pushViewController:detailViewController animated:YES];

    [detailViewController release];    
    delegate.selectedBook = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"book"];
    delegate.selectedChapter = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"chapter"];
    delegate.selectedVerse = [[searchResults objectAtIndex:indexPath.row] objectForKey:@"verse"];
    [delegate reloadVerses];


}
parallelViewController是主视图,但现在我在popover控制器中获得了主视图。我只想关闭此popover控制器并导航到parallelViewController。如何执行此操作。 提前感谢。

您可以使用

- (void)dismissPopoverAnimated:(BOOL)animated
方法取消popover

并可参考以下链接了解更多信息-

编辑- 您可以使用-

NSArray *viewControllerArray = [[self.navigationController.viewControllers copy] autorelease];
int arrayElementCount = [viewControllerArray count];
YourViewController *aViewController;
for(int index = 0 ; index < arrayElementCount ; index++) {
    if([[viewControllerArray objectAtIndex:index] isKindOfClass:[YourViewController class]]) {
        aViewController = [viewControllerArray objectAtIndex:index];
    }       
}
[aViewController.popoverController dismissPopoverAnimated:YES];

[popoverController解除PopOveranimated:是];。。。当您使用popover时,请使用此行关闭popover。@Nit haii Nit我在输入此代码时遇到此错误…架构i386的未定义符号:_OBJC_IVAR_$\u UIViewController.\u popover控制器,引用自:-[searchpage tableView:didSelectRowAtIndexPath:]在searchpage.o ld:symbols not found for architecture i386 collect2:ld返回1退出状态show me your full error message…@Nit plz chi上面的注释。这是错误消息。我知道,但此类型或错误消息的文本比您上面显示的更多。如果您可以向我显示,我可以帮助您…我在函数中添加了什么代码,是[popoverController解散PopOveranimated:是];???您要在下面的位置取消popover呼叫-[self.PopoOvercontroller DismissPopoOveranimated:YES];我已经输入了这段代码,但它显示了一个错误,popover控制器未声明。我在DidSelectRowatinex路径方法中输入了这段代码。您是否使用了正确的拼写,因为您正在使用相同的拼写来创建popover,并且将使用相同的拼写来忽略它。检查您是否正确使用self.popoverController?我将此代码放在didselctrowatindexpath[self.popoverController dismissPopoverAnimated:YES]。。。现在我得到了一个错误,即在searchpage类型的对象上找不到属性popoverController