使用 NavigationViewController 更改视图
Change View with NavigationViewController
这一切可能是一个微不足道的问题,但我还没有找到解决办法。我正在使用 Swift 为 Iphone 制作一个应用程序。
我有一个带有一些字符串的表格视图,如果我按下一个按钮,我想直接导航回上一个视图。但是,我调用后的代码
navigationController?.popViewControllerAnimated(true)
始终是 运行,但我希望当前的 activity 停止并返回到上一个视图。
代码如下:
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
print("After navigationController")
for index in deleteIndices{
results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.removeAtIndex(index)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.count == 0){
results?.ListResults[yearShownIndex].months[monthShownIndex].day.removeAtIndex(dayShownIndex)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day.count == 0){
results?.ListResults[yearShownIndex].months.removeAtIndex(monthShownIndex)
}
if (results?.ListResults[yearShownIndex].months.count == 0){
results?.ListResults.removeAtIndex(monthShownIndex)
}
loadView()
}
"After navigationController" 始终显示。
在 android 中,您将通过创建意图来启动一个新的 activity 以获得所需的行为,但它如何在 Iphone 上工作?
我的问题是我希望在调用navigationController.popViewControllerAnimated
时能够直接返回。这只是一个玩具示例,用于了解它是如何工作的,以便我稍后可以在 if 子句中使用它。
如果您不想在 "print("navigationController")" 之后执行代码,则删除该代码
或者调用 DeletePressed 时无法删除然后切换它
您可以在弹出 viewcontroller:
后简单地添加一个 return
语句
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
return;
[...]
这一切可能是一个微不足道的问题,但我还没有找到解决办法。我正在使用 Swift 为 Iphone 制作一个应用程序。
我有一个带有一些字符串的表格视图,如果我按下一个按钮,我想直接导航回上一个视图。但是,我调用后的代码
navigationController?.popViewControllerAnimated(true)
始终是 运行,但我希望当前的 activity 停止并返回到上一个视图。
代码如下:
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
print("After navigationController")
for index in deleteIndices{
results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.removeAtIndex(index)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.count == 0){
results?.ListResults[yearShownIndex].months[monthShownIndex].day.removeAtIndex(dayShownIndex)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day.count == 0){
results?.ListResults[yearShownIndex].months.removeAtIndex(monthShownIndex)
}
if (results?.ListResults[yearShownIndex].months.count == 0){
results?.ListResults.removeAtIndex(monthShownIndex)
}
loadView()
}
"After navigationController" 始终显示。
在 android 中,您将通过创建意图来启动一个新的 activity 以获得所需的行为,但它如何在 Iphone 上工作?
我的问题是我希望在调用navigationController.popViewControllerAnimated
时能够直接返回。这只是一个玩具示例,用于了解它是如何工作的,以便我稍后可以在 if 子句中使用它。
如果您不想在 "print("navigationController")" 之后执行代码,则删除该代码
或者调用 DeletePressed 时无法删除然后切换它
您可以在弹出 viewcontroller:
后简单地添加一个return
语句
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
return;
[...]