gpt4 book ai didi

ios - 在 SWReavealViewController 中实现主页按钮

转载 作者:行者123 更新时间:2023-11-28 21:41:36 24 4
gpt4 key购买 nike

我正在使用 SWRevealViewController 并且单元格的内容之一称为“Home”。其余内容转到另一个 VieController,但主页按钮应该将 App 带到第一个 ViewController。我试过了

[self.navigationController popToViewController:viewC animated:YES];

(viewC是第一个ViewController)我也试过了

[self.navigationController popToRootViewControllerAnimated:YES];

两者都不起作用。有 SWRevealViewController 经验的人可以帮忙吗? 第一个 View Controller 是 RevealViewController 的 sw_front,单元格(“HOME”)所在的 TableView 位于 sw_rear。First ViewController 是应用程序打开时出现的第一个页面

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
_rowSelected=(int)indexPath.row;
if (_rowSelected==0) {
ViewController *viewC;
[self performSegueWithIdentifier:@"toHome" sender:self];
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController pushViewController:viewC animated:YES];
}
[self performSegueWithIdentifier:@"sideBarSegue" sender:self];
}

这3种方法我都试过了,都没有用

[self performSegueWithIdentifier:@"toHome" sender:self];
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController pushViewController:viewC animated:YES];

这部分是重定向到另一个工作正常的 ViewController 的“其他”情况

[self performSegueWithIdentifier:@"sideBarSegue" sender:self];

最佳答案

一旦您在后视 Controller 中选择单元格,您实现的可能不是正确的 segue 方法。相反,您应该再次在显示 Controller 中设置前 View Controller 以实现此目的。我会这样做(而且我没有使用过 Segues):

menuItems 是表格 View 的数据源previousItem 只是我用来检查用户最后选择的字符串。如果上次选择与新选择相同,我只是重新设置位置。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *item = [[menuItems objectAtIndex:indexPath.row] uppercaseString];
UINavigationController *newController;
if (![item isEqualToString:previousItem])
{
if ([item isEqualToString:@"HOME"])
newController = [self.storyboard instantiateViewControllerWithIdentifier:@"HomeViewNavigationController"];

....... //conditions here for other cells.

previousItem = item;

[self.revealViewController setFrontViewController:newController];
[self.revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES];
}
else
{
[self.revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES];
}
}

这是假设您在 Storyboard 中定义了一个主视图 Controller 标识符,并将其嵌入到导航 Controller 中。或者您也可以通过执行 alloc init 来实例化它。

如果您有任何问题,请告诉我。

希望这对您有所帮助。

关于ios - 在 SWReavealViewController 中实现主页按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31849028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com