我有带导航系统的rootcontroller。我想要做的是弹出旧堆栈并通过委托添加新堆栈。例如,(1)调用方法包含pop currentview和delegation。 (2)在rootview中,它接收委托并自动推送一个新栈。
currentviewcontroller.m
-(void)chooseSticker:(id)sender{
[self.navigationController popViewControllerAnimated:YES];
[self.delegate returnSetView];
}
rootviewcontroller.m
-(void) returnSetView{
SetToolController *setController = [[SetToolController alloc]initWithNibName:@"SetToolController" bundle:nil];
[self.navigationController pushViewController:setController animated:YES];
[setController release];
}
它只返回根控制器但添加了新视图。在调用方法后,我可以在导航栏上找到重叠的“后退”按钮。
答案 0 :(得分:2)
动画阻止您创建视图。因此,您可以关闭动画,也可以在显示其他视图之前添加延迟。
performSelectorOnMainThread:withObject: afterDelay: waitUntilDone:YES