我正在使用故事板和iOS 7开发一个iOS应用程序。
出于某种原因,从屏幕到下一个屏幕的推送需要3秒,而我根本不知道如何调试它。
我知道这是一个非常普遍的问题,但是我可以建议我应该注意什么,或者我需要使用什么工具来改善用户体验。
在2视图控制器中没有发生“沉重”事件。从字面上说,头文件中有一个协议,允许数据被发回。
任何帮助都将不胜感激。
谢谢。
--
增加更多细节:
在我的故事板上。在视野A我有一个按钮。从那个按钮,我拖到查看B,并创建了一个推送segue。在视图A中,我也有这样的方法:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"page2topage3"]){
FormPage3ViewController *controller = (FormPage3ViewController *)segue.destinationViewController;
controller.userData = _userData;
//This is for the delegate to pass back the array
controller.delegate = self;
}
}发布于 2014-03-08 17:41:03
目标视图控制器可能需要很长时间来实例化。在这种情况下,FormPage3ViewController。检查您的-init方法。
如果不是这样的话,你最好的选择就是使用仪器来找出正在发生的事情。使用cmd+i从Xcode启动它。选择“时间分析器”。等待几秒钟,直到应用程序完全完成启动并运行导致segue执行的操作。你应该看到这样的东西:

一旦完成执行,您可以告诉仪器停止录制。在此之后,单击时间线并使用检查范围按钮来选择感兴趣的区域,直到您得到如下内容:

确保扩展的详细信息视图处于活动状态。它是右边的一个面板,可以通过单击红色标记的按钮来激活:

并选择列表的第一个线程:

在extended视图中,您应该可以看到在执行segue时发生的最重的堆栈跟踪,这将使您对可能发生的事情有一个很好的了解。单击扩展详细信息中的黑色项(您的代码),查看线程列表中的更多详细信息,或双击以直接进入代码行:

发布于 2014-03-03 05:39:56
也许太多透明元素了。尝试人为地从元素中移除alpha通道,这当然不是必需的。
在故事板中设置标志“不透明”。

或将此代码用于元素:
[myLabel setOpaque:YES];您还可以在sourceViewController: willDissapear,didDissapear中检查时间戳之间的差异。在destinationViewController: initWithCoder,viewDidLoad,viewWillAppear,viewDidAppear。它应该有助于找到消费操作。
https://stackoverflow.com/questions/22135861
复制相似问题