presentOpenInMenuFromBarButtonItem:不会导致菜单出现
我试图通过UIDocumentInteractionController
和presentOpenInMenuFromBarButtonItem
显示打开菜单。 这不会在屏幕上显示UIDocumentInteractionController
。 奇怪的是,如果我用“ Options
”replace“ OpenIn
”,那么它将按预期工作。
是什么原因导致presentOpenInMenuFromBarButtonItem
不能工作? 谢谢。
NSString *fileName = [NSString stringWithFormat:@"%@text.txt", NSTemporaryDirectory()]; [self.textToShare writeToFile:fileName atomically:NO encoding:NSUTF8StringEncoding error:nil]; NSURL *textFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"text.txt"]]; self.openInController = [UIDocumentInteractionController interactionControllerWithURL:textFileURL]; self.openInController.delegate = self; [self.openInController presentOpenInMenuFromBarButtonItem:self.buttonToPresentFrom animated:YES]; //replacing OpenIn with Options causes it to appear
问题是,presentOpenIn …只显示一个菜单,当有应用程序安装,可以打开你发送的文件。 iOS模拟器没有任何打开.txt文件的应用程序,所以它似乎没有工作。 如果你在物理设备上运行,它工作得很好。
我决定添加这个更好的行为:
BOOL didPresentOpenIn = [self.openInController presentOpenInMenuFromBarButtonItem:self.buttonToPresentFrom animated:YES]; if (!didPresentOpenIn) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Apps Available" message:@"You do not have any apps installed that can open text files." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; }