我已经在这个应用程序上工作了好几个月,从我记忆中来看,我从来没有遇到过segue的问题。在调用performSegueWithIdentifier
方面,代码没有变化,但自从我最近更新到Xcode 7和iOS 9后,我无法解决这个问题。
我试过了:
performSegueWithIdentifier
当我按下按钮时,目标VC上没有调用初始加载功能(例如:ViewDidLoad
,ViewWillAppear
等)。当我将它连接到空白视图时,segue可以正常使用相同的代码。
由于代码永远不会停止或中断,而且似乎只是#"冻结"在仍然在Xcode上运行时,我似乎甚至无法将其缩小到导致问题的原因。我有一个类似的segue,也可以从同一个ViewController上的另一个按钮调用,它没有任何问题。
对此事的任何想法都非常感谢!
编辑:我已将问题缩小到UITextView
导致问题的范围。一旦删除了文本视图,页面就会通过segue加载。我想知道iOS {8}和iOS 9之间在UITextView
方面有什么变化,因为我必须删除文本视图并完全重新添加新的文本视图。
答案 0 :(得分:29)
所以基本上segue因为我在UITextView
中使用的destinationViewController
而冻结了。以下解决了这个问题:
UITextView
的viewDidLoad()
这是我的修复,从我在这个问题上所做的研究来看,这似乎是iOS 9和Xcode 7中的一个错误。
干杯!
注意:删除UITextView中的文本(或使其长度超过12个字符)足以解决它,无需删除和重新创建它们。 这在Xcode 7.1.1及更高版本中得到修复。
答案 1 :(得分:0)
我遇到了同样的问题,这篇文章中的修正案(Xcode 7 crash: [NSLocalizableString length] 30000)为我解决了这个问题。
首先是启用故事板基础以外的本地化(参见https://stackoverflow.com/a/32688815/3718974)
第二种是关闭基本定位(参见https://stackoverflow.com/a/32719247/3718974)
答案 2 :(得分:0)
我认为我遇到了同样的问题:我有一个UITabelView,其中包含从nib文件创建的单元格,当用户点击一个单元格调用此方法时:
当我有以下方法prepareForSegue ::应用程序崩溃:
如果我删除行129一切正常,方法prepareForSegue ::打开右视图,标签contactName以默认文本显示。 如果我修改方法如下,prepareForSegue :: get完全符合你的期望,没有任何类型的错误:
如果您也得到相同的结果,请告诉我
答案 3 :(得分:0)
任何正面临这个问题的人,我通过关闭模拟器窗口调试中的“优化渲染窗口缩放”选项解决了这个问题。我已经尝试过所有上述答案,但无法解决问题。
答案 4 :(得分:0)
在你激活segue的第一个viewController中的方法中,你在任何地方都有beginIgnoringInteractionEvents吗?如果是这样,您所选择的屏幕将被冻结,并将忽略您描述的交互事件。如果是这种情况,您可以通过在segue方法之前添加endIgnoringInteractionEvents方法来解决此问题:
UIApplication.sharedApplication()。endIgnoringInteractionEvents() self.performSegueWithIdentifier(“editItemToMyGearSegue”,sender:self)
答案 5 :(得分:0)
我意识到这是一个古老的话题,但似乎仍然具有相关性。我在Xcode 9,iOS11中遇到了同样的问题。我的UITextViews嵌入在UITableViewCells中。与此处描述的症状相同。默认文本和占位符的技巧对我没有任何作用,但我通过关闭xib中文本视图的滚动指示符来解决它。我猜,默认情况下它们是未使用的。
编辑:这可能是一个重要的细节...所有悬挂的视图都在文本视图的属性字符串中有一个图像NSTextAttachment。我认为图像比可用的表格单元格内容更宽。滚动关闭时,它们似乎会缩小。