if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.body = text;
sms_message_vc.recipients = recipients;
sms_message_vc.messageComposeDelegate = self;
[self presentModalViewController:sms_message_vc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[sms_message_vc release];
}
执行此操作时,在实际显示撰写视图之前会延迟几秒钟。造成这种情况的原因是什么以及如何消除延迟?
编辑1:澄清:制作sms_message_vc
和 ivar 没有帮助,因为...alloc] init]
无论 UI 位于何处,进程都会将 UI 挂起几秒钟。
编辑2:尝试GCD(具有不同的优先级)尝试同时运行初始化。没有帮助:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, (unsigned long)NULL), ^(void){
sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.messageComposeDelegate = self;
});
考虑将 MFMessageComposeViewController *sms_message_vc 设为类实例变量并调用:
MFMessageComposeViewController *sms_message_vc = [[MFMessageComposeViewController alloc] init];
早些时候,同时将代表设置为self
启动后立即sms_message_vc
然后只需执行以下操作:
sms_message_vc.body = text;
sms_message_vc.recipients = recipients;
[self presentModalViewController:sms_message_vc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[sms_message_vc release];
当您想实际发送消息时。这不会改变太多,但可能会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)