在iOS 7.x(仅限)上,当我拨打[self performSegueWithIdentifier:@"MySegue"]
时,而self
是UINavigationController
时,我会收到以下{{1} }:
找不到segue' MySegue'的导航控制器。推 segues只能在源控制器由a管理时使用 UINavigationController的实例。
奇怪的是,在iOS 8.x上它完美无缺!
我看到的关于此异常的每个solution都告诉您将源视图控制器嵌入到UINavigationController中,但在我的情况下NSGenericException
已经一个UINavigationController本身。< / p>
在UINavigationController上调用self
是有意义的,而且它在iOS 8上有效,那么iOS 7上的问题是什么?
答案 0 :(得分:1)
第一反应 - 你是如何设法从$( '#elementb').mousedown (function(){
$(this).mousemove(function(){
$( document ).trigger("mousemove");
});
$( document ).mousemove(function(e){
console.log(e.clientX,e.clientY);
$( '#elementa').css({"left":e.clientX,"top":e.clientY});
});
});
创建一个segue的?在UINavigationController
中,您可以创建Storyboard
的关系,而不是segue!
好吧,我很惊讶它是否适用于iOS 8.但从概念上讲,你不能要求UINavigationController
UINavigationController
作为带有推送的segue只是一种要求sourceViewController推送segue的图形方式&# 39; s destinationViewController。
在这种情况下,您是如何告诉performSegueWithIdentifier
执行segue的?它没有navigationController,它本身就是!!!
所以我猜如果它在iOS 7上有效,那就是它的错误。
你应该做什么:
在作为segue源的控制器上执行选择器UINavigationController
。
OR
要求UINavigationController推送您的-performSegueWithIdentifier
。