这是我的项目图:
我想要实现的逻辑流程:
1:用户通过第一个选项卡中的所有视图输入任务的所有请求信息,最后到达名为" writeTask"的最后一个视图。在这里,用户应该点击"确认"按钮。
2:厄普顿窃听"确认"我想将用户导航到第二个选项卡的第二个视图(名为" newTask"),该视图显示用户刚输入的任务。用户可以前往" myTasks"通过点击左上角的按钮查看表格视图。
我的第一个方法:
点击按钮后,我instantiateViewController
" myTasks"做self.present(myTasks, animated: true, completion: nil)
。但现在用户将转到" myTasks"表格视图首先没有直接进入" newTask"。我尝试通过viewDidload
self.performSegue(withIdentifier: "showTaskDetails", sender: self)
...
posts = Post.objects.all()
if request.method == 'POST':
country = request.POST.get('country')
print('COUNTRY:', country) #successfully prints
posts = Post.objects.filter(country=country)
context = {
...
'posts': posts,
}
return render(request, 'boxes.html', context)
中执行segue来解决这个问题
问题:segue执行太晚(在视图加载后,用户将看到" myTasks"查看半秒)。
第二种方法:
我在点击按钮和" newTask"之间创建了一个模态segue。视图。而且我在" newTask"之间创造了一个放松的区别。查看和" myTasks"表视图。因此,用户将被导航到" newTask"看来,他们可以回到" myTasks"通过放松segue。
问题:在展开期间," wirteTasks"视图将在" myTasks"之前显示一小段时间。显示表格视图。
答案 0 :(得分:0)
这是我提出的新方法:
let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let vc: UITabBarController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarController") as! UITabBarController
let nvc = vc.viewControllers?[1] as! UINavigationController
let destinationVC = nvc.viewControllers[0] as! myTasksTableViewController
destinationVC.task = task
vc.selectedIndex = 1
self.present(vc, animated: true, completion: nil)