gpt4 book ai didi

iPhone Storyboard,以编程方式调用 segues,导航问题

转载 作者:行者123 更新时间:2023-11-29 11:05:32 24 4
gpt4 key购买 nike

所以我有一个 iPhone 应用程序。它的结构很简单,全部基于 UINavigationController

我有一个 Storyboard,它有一个 View ,一个到另一个 View 的 segue,等等。现在这个另一个 View 有一个 UITextView,我不想在这个屏幕上编辑它 - 如果用户点击这个,我希望它飞到第二个屏幕,它基本上具有相同的 TextView ,但这个屏幕是全屏的,用户将在返回前一个屏幕之前编辑该屏幕上的文本。

所以我捕获了 textViewShouldBeginEditing 方法。我以前在 Storyboard编辑器中手动创建了一个从以前的 View Controller 到这个新 View Controller 的推送转场,并命名它以便我可以通过它的标识来调用它,我这样做是这样的:

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
// This is called when the user clicks into the textView as if to edit it.

// Instead of editing it, go to this other view here:
[self performSegueWithIdentifier:@"editMemoSegue" sender:self];

// Return NO, as I don't actually want to edit the text on this screen:
return NO;
}

似乎有道理。它有效。排序。事实上,它确实让我转向了另一个观点。其他 View 的事件启动,我将它的 TextView 设置为第一响应者,我在该屏幕上编辑文本。大家都很开心。

直到我想使用后退按钮返回到上一个 View 。

然后我很快发现 - 我的导航堆栈被 foobared。大多数时候,出于某种原因,我的新编辑 Controller 的两个实例在堆栈中,所以当我第一次按下后退按钮时,我会再次获得相同的东西。然后,奇怪的是,它偶尔会按预期工作,我只需单击一次后退键,就会看到我以前的 Controller 。

我开始阅读日志,我发现了这个:

2012-12-09 09:41:03.463 APP[8368:c07] nested push animation can result in corrupted navigation bar
2012-12-09 09:41:03.818 APP[8368:c07] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2012-12-09 09:41:03.819 APP[8368:c07] Unbalanced calls to begin/end appearance transitions for <SecondController: 0x83881d0>.

很明显,我在这里做错了什么。问题是,什么?我如何以正确安抚 iPhone 框架的 tiki 神的方式做我想做的事?

最佳答案

检查 textViewShouldBeginEditing 是否被调用了两次。我注意到有时会出现此类委托(delegate)调用。

关于iPhone Storyboard,以编程方式调用 segues,导航问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com