加载新视图时的不稳定行为

时间:2014-11-06 21:14:33

标签: ios objective-c iphone xcode

我一直在努力解决我的代码中的错误问题,但我无法弄明白。

这是我的第一个iOS应用程序并发布在这里,所以对我来说很容易!

基本上,我的应用有一个'创建'按钮和“加载”按钮按钮。当'创建'按下按钮,其位置移动并创建文本字段供用户输入文本。什么时候加载'按下按钮,位置再次移动,但会创建一个tableview供用户选择以前的文件名。

如果用户按下'创建'按钮,填写文本字段,然后再按“创建”,应用程序完美地分割到新视图。当用户按下“加载”时,这是相同的,从表格视图中选择文件名,然后再次按下“加载”#39;转向新观点。它们都是相同的视图,一切都很完美。

但是,如果用户点击了'创建'按钮(动画按钮并创建文本字段),然后单击,将视图恢复为原始布局,然后决定加载以前的文件(再次动画按钮,但这次创建表视图),新查看负载非常奇怪!它不是从底部动画来填满屏幕,而是显示在上一个视图的中间位置,稍微向上移动然后向下移动以覆盖旧视图。

更奇怪的是,当发生此错误时,会在所有视图中继续进行奇怪的视图加载。

我使用

以编程方式触发segues
  [self performSegueWithIdentifier:@"First" sender:sender];

  [self performSegueWithIdentifier:@"Second" sender:sender];

我已确保segues被正确标记。

有没有人有类似的经历,他们设法纠正了这个问题?我确实尝试上传图片以更好地显示问题,但我没有足够的分数:(

我已经向youtube上传了一个视频,该视频应该更清楚地显示问题:

http://youtu.be/rB5qpF2ImSk

1 个答案:

答案 0 :(得分:0)

您的视频演示了我认为您的问题所在。当您从Meal Planner页面开始,并且转到下一个控制器时,看起来您正在进行模态演示。但是,当您点击看起来像自定义后退箭头时,您将呈现您的膳食计划者视图的另一个实例,而不是返回到您来自的那个(当您关闭时,当前视图应向下滑动并离开屏幕模态视图)。当向后移动到前一个控制器时,如果使用segues,则应该只使用展开segue。另一种方法是使用dismissViewControllerAnimate:completion:。

在代码中解除控制器