我正在使用 NativeScript + Angular 2 开发跨平台移动应用程序。
我想处理当前视图的后退按钮点击,即当用户点击Android设备中的后退按钮时,我想执行像从堆栈中删除/删除当前视图的操作。
对于ex:在android平台(Native Development)中,我们可以使用活动的finish()
方法将其从堆栈中删除。我们可以处理onBackPressed(),如 -
@Override
public void onBackPressed()
{
finish(); //Removes current Activity from stack
}
那么有没有办法在 NativeScript + angular 2 中处理onBackPressed()
和finish()
方法?我搜索了很多,但没有找到任何解决方案,并在NativeScript + Angular 2中尝试了 Frame.goBack()
,但对我没有用。它在NativeScript + JavaScript中运行良好。
更新
我想从堆栈中永久删除视图,因为在应用程序中不再需要它。它应该在应用安装时首次显示。
例如:
喜欢登录屏幕
1)当安装应用程序时,应显示登录屏幕,并在下次启动应用程序时,应用程序将自动跳过登录屏幕并移至主屏幕(此工作正常)
2)但问题是当我从主屏幕按回按钮然后应用程序每次导航到登录屏幕,因为登录屏幕仍然存在于堆叠中。这就是我想从堆栈中永久删除登录屏幕的原因。
答案 0 :(得分:3)
您需要实施的内容是注入位置并使用方法返回()
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
guard let nextView = storyboard?.instantiateViewControllerWithIdentifier("InterestViewController") as? InterestViewController else {return}
nextView.detailImages = detailImages
navigationController?.pushViewController(nextView, animated: true)
}
此时,当用户返回时,您不必担心明确销毁视图,因为没有可用于移动的移动选项"转发"