我目前正在研究Xamarin.iOS中的一个项目,我不知道堆栈系统是如何工作的。
我有一个菜单,我选择我的应用程序的语言,当我选择不同的语言时,我想在所有以前的页面上快速刷新语言。
当我在我的语言设置中点击上一个按钮时,前一页没有翻译,所以我决定用ViewController
创建一个新的this.NavigationController.PushViewController(new ViewController(), true)
,它放在堆栈顶部
但我不认为这是最好的方式,所以我试过
qazxsw poi有根qazxsw poi但有没有办法在堆栈上只获得上一页?
this.NavigationController.PopToRootViewController(true)
在iOS中,如果您使用的是NavigationController并且想要导航到上一个ViewController,则可以使用导航属性中的PopViewController方法。
ViewController
这将使您的app关闭当前页面,并显示上一页。
看看这与public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
var cell = this.GetCell(tableView, indexPath);
cell.SelectionStyle = UITableViewCellSelectionStyle.None;
var previousIndexPath = NSIndexPath.FromRowSection(this.selectedIndex, 0);
this.selectedIndex = indexPath.Row;
var selectedLanguage = this.supportedCultures[this.selectedIndex];
Localization.Culture = selectedLanguage;
this.SaveLanguageToUserDefault(selectedLanguage);
this.TableView.ReloadRows(new NSIndexPath[] { previousIndexPath,indexPath }, UITableViewRowAnimation.None);
this.NavigationController.PopToRootViewController(true);
//this.NavigationController.PushViewController(new ViewController(), true);
}
不同。
希望这可以帮助。-
按下后退按钮时,qazxsw poi方法会在即将到来的页面中调用。在这里你写下你的逻辑就像打开通知后回到设置计数qazxsw poi等
this.NavigationController.PopViewController(true);