2012-05-17 6 views
1

У меня есть popovercontroller для отправки страницы поиска, она показывает страницу поиска, когда пользователь нажимает на ячейку внутри popover, она отображает соответствующую страницу внутри popovercontroller, я не хочу ее, поэтому Я положил NSNotification для отображения popover, и он отлично работает, но у меня возникла проблема, но навигации там не бывает в popovercontroller, происходит только увольнение. это мой код, чтобы создать поповерУстранение неисправностей в UIPopOverViewControler

-(void)revealRightSidebar:(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.popup = [[UIPopoverController alloc] 
           initWithContentViewController:navigationController]; 

    [self.popup presentPopoverFromRect:_btnsearch.frame 
              inView:self.view 
          permittedArrowDirections:UIPopoverArrowDirectionAny 
              animated:YES]; 

    //release the popover content 

    [popoverContent release];  

    [self resetReadViewToVerse:1]; 
} 

в viewDidLoad методе этой страницы я поставил уведомление

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissThePopover) name:@"popoverShouldDismiss" object:nil]; 
} 

в searchpage я положил этот код, чтобы перейти к странице результатов соответствующего поиска

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{   
    ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil]; 

    //detailViewController.firstString = firstString; 
    // ... 
    // Pass the selected object to the new view controller. 

    [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]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"popoverShouldDismiss" object:nil]; 
} 

но при удалении уведомления перейдите на поиск по соответствующему запросу на странице parallelReadViewController, но в пределах popover, здесь popover увольте, но никакая navigation.please не поможет мне сделать это.

+0

@Atulkumar V.Jain любой помощи от ур стороны? – stackiphone

ответ

0

Вы должны иметь navigationController, объявленный в классе AppDelegate. Используйте это значение navigationController для нажатия нужного вида.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{     
    ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil];   
    //detailViewController.firstString = firstString;  
    // ... 
    // Pass the selected object to the new view controller. 
    [delegate.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]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"popoverShouldDismiss" object:nil]; 
} 

Надеется, что это может помочь вам .......

+0

@AthulKumar V.Jain, я ставлю ваш код, но не повезло ... – stackiphone

Смежные вопросы