2012-12-10 24 views
1

我目前有一個searchdisplaycontroller設置和工作。原始表格視圖爲要傳遞到詳細視圖的標題和圖像設置了一個segue。我想從搜索顯示控制器中發生這種情況,但這不會發生?我知道這是可能的,但似乎無法使它起作用?我的代碼是:從搜索segueResultsTableView

- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     [self.detailViewController setDetailItem:[[contentsList objectAtIndex:indexPath.section] 
                objectAtIndex: indexPath.row]]; 
} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    if ([segue.identifier isEqualToString:@"detailview"]) { 
      self.detailViewController=segue.destinationViewController; 
    } 
} 

@end 

,並在詳細視圖,設置了全面的總結:

- (void)setDetailItem:(id)newDetailItem 
{ 
    if (_detailItem != newDetailItem) { 
     _detailItem = newDetailItem; 

     // Update the view. 
     [self configureView]; 
    } 
} 

- (void)configureView 
{ 
    // Update the user interface for the detail item. 

    if (self.detailItem) { 
     self.navigationItem.title = [self.detailItem objectForKey:@"name"]; 
     [self.detailImage setImage:[UIImage imageNamed:self.detailItem[@"image"]]]; 
    } 
} 

我將在解決這一問題:)

+0

好的另一個更新設置您destinationViewController屬性給任何人讀這... 我已經改變 的UITableViewCell *電池=(UITableViewCell的*)的tableView dequeueReusableCellWithIdentifier:CellIdentifier]。 到 UITableViewCell * cell =(UITableViewCell *)[mainTableView dequeueReusableCellWithIdentifier:CellIdentifier]; 在cellForRowAtIndexPath中,現在允許我繼續,但是當我這樣做時,它將保持mainTableView的順序,而不是搜索結果的順序,因此越來越近但不是那樣!此外,我有一個分組表,是否有可能讓搜索結果反映這個syling? – David

回答

1

您可以任意順着接下去的幫助非常感謝從通過調用performSegueWithIdentifier一個搜索顯示控制器:發送者:從的tableView:didSelectRowAtIndexPath方法:這樣的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Get the UITableViewCell that was selected 
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath]; 

    // Then this will call prepareForSegue:sender: with selectedCell as sender 
    [self performSegueWithIdentifier:@"detailview" sender:selectedCell]; 
} 

然後在prepareForSegue:發件人:你

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    if ([segue.identifier isEqualToString:@"detailview"]) { 

     // Set your destinationViewController properties here 

    } 
}