objective-c – UIDatePicker减缓了事情
我花了一个很好的时间,并得出结论,UIDatePicker使presentModalViewController慢了几秒钟.我有一个视图控制器与两个按钮和日期选择器.在另一个类中,我使用这个代码来呈现这个视图控制器:
RandomClass *class = [[RandomClass alloc] init]; [class setModalTransitionStyle: UIModalTransitionStyleCrossDissolve]; //an animation [self presentModalViewController: class animated: YES]; [class release]; 我已经删除了RandomClass中的日期选择器,并注意到我可以很快地呈现RandomClass,当我在视图中插入日期选择器时,它会再次减慢事情.我试图以编程方式添加日期选择器,并以不同的线程呈现模态视图控制器,但仍然存在滞后. 你有同样的问题吗?你知道如何解决它吗?我非常感谢你的答案和帮助.谢谢! 解决方法
我正在经历与模态视图演示相同的缓慢表现.我通过牺牲一些记忆来支持表现来到一个解决方案.
背景: 解: 在Singleton的界面中: @property (strong,nonatomic) UIDatePicker *datePicker; 在Singleton的实现中,我为datePicker实现了一个getter. - (UIDatePicker *)datePicker { if (!_datePicker) { _datePicker = [[UIDatePicker alloc] init]; } return _datePicker; } 这确保了datePicker只被创建一次,它可以从我的应用程序的任何地方访问. 现在在需要使用选择器的类的viewDidLoad方法中,通过getter方法获取属性: UIDatePicker *aDatePicker = [[MySingleton shareInstance] datePicker]; // Set it's location. [aDatePicker setFrame:CGRectMake(0.0,236.0,self.view.frame.size.width,216.0)]; // Connect to any actions [aDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; // Add it to you view [self.view addSubview:[[MySingleton shareInstance] datePicker]]; 第一次创建日期选择器时,会发生缓慢的行为.每隔一段时间,模态视图就会看起来很快(取决于你在视图中还有什么). 本质上我正在创建一个全局变量并保持它,所以我不必每次创建它,而是以内存为代价.性能差异在我的应用案例中是值得的. 注意: 所以如果在viewDidLoad中将“self”分配为目标: [aDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; 重要的是在诸如viewDidDisappear之类的方法中添加此代码以防止崩溃: [aDatePicker removeTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |