0

我正在使用SWRevealViewController在应用程序上有一个侧面菜单。它从侧面菜单到控制器按预期工作。我现在想做的是SWRevealViewController再次从一个控制器使用到另一个控制器(两者UITableViewController)。

从侧面菜单到控制器 1 到控制器 2:

在此处输入图像描述

这是我到目前为止尝试做的事情:

设置Real View Controller Segue从 Interface Builder 到第二个 Controller identifier "articlesSegue"

在我使用的第一个控制器中didSelectRowAtIndexPathprepareForSegue显示第二个控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Set selected issue to var
    _selectedIssue = _feedItems[indexPath.row];

    // Manually call segue to detail view controller
    [self performSegueWithIdentifier:@"articlesSegue" sender:self];
}

#pragma mark Segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get reference to the destination view controller
    TableViewController *tableVC = segue.destinationViewController;

    // data used in the second Controller
    tableVC.self.type = @"category";
    tableVC.self.data = [_selectedIssue.ID stringValue];
}

从列表中选择一个项目显示为已选择,但没有任何反应。

在此处输入图像描述

我已经使用 Push Segue 对其进行了测试,并且可以正常工作,但我仍然更喜欢使用SWRevealViewController.

我确实找到了这个问题,但我不太确定它必须如何实现,SWRevealViewController - 手动切换到另一个视图?.

4

1 回答 1

0

正如@Anbu.Kathik 解释的那样,我不能使用从SWReveal移动Controller到另一个Controller。我已经通过使用相同的方法解决了它TableViewController,我添加了一个属性type来检查哪个是当前的“tableview”,并在选择项目时简单地更新表didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // check type of current tableview - if category display article
    if ([self.type isEqualToString:@"category"]) {
        // display single article
        _selectedArticle = _feedItems[indexPath.row];
        [self performSegueWithIdentifier:@"detailSegue" sender:self];
    }
    else {
        // else if issue display list of articles on the same TableViewController
        _selectedIssue = _feedItems[indexPath.row];
        self.type = @"category";
        self.data = [_selectedIssue.ID stringValue];
        [_homeModel downloadItems:self.type :self.data];
    }
}

使用[self.tableView reloadData]新数据重新加载表。

于 2014-06-09T06:37:21.303 回答