對於固定我的問題,我發現了一個很好的例子here的解決方案(如我以前的答案沒有包括代碼道歉的話回答)。
我已經剪切並粘貼在此處,幫助某人。充分肯定absoluteripple.com
假設你的類被稱爲視圖控制器,然後在ViewController.h文件:
@interface ViewController : UIViewController
{
UIDocumentInteractionController *docController;
}
添加以下方法,在視圖控制器。L: // - 建立UIDocumentInteraction控制器及其委託設置爲self,所以我們可以處理回調事件
- (UIDocumentInteractionController *) setupControllerWithURL:(NSURL *)fileURL
usingDelegate:(id <UIDocumentInteractionControllerDelegate>) interactionDelegate {
UIDocumentInteractionController *interactionController =
[UIDocumentInteractionController interactionControllerWithURL:fileURL];
interactionController.delegate = interactionDelegate;
return interactionController;
}
// - 這裏的關鍵實例方法是presentOptionsMenuFromBarBUttonItem // - 這裏假定有一個名爲BarButtonItem _btnActions
- (void)showOptionsMenu
{
NSURL *fileURL = [NSURL fileURLWithPath:@"THE_FILE_URL_PATH"];
docController = [self setupControllerWithURL:fileURL
usingDelegate:self];
bool didShow = [docController presentOptionsMenuFromBarButtonItem:_btnActions
animated:YES];
if (!didShow) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@""
message:@"Sorry. The appropriate apps are not found on this device."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles: nil];
[alert show];
}
}
- 添加一個方法來調用上面,當你想證明你可以將文件發送到 在這個例子中的應用程序,一個UIBarButton連線到以下IBActions:
- (IBAction)ActionButtonClicked:(id)sender {
[self showOptionsMenu];}
那是嗎。點擊按鈕後,會出現一個操作手冊(全部由Apple的UIDocumentInteractionController類支持),顯示您可以將文件發送到的應用程序(如果有的話)。
您可以根據需要實現以下的委託方法:
- (void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application
- (void)documentInteractionController:(UIDocumentInteractionController *)controller didEndSendingToApplication:(NSString *)application
- (void)documentInteractionControllerDidDismissOpenInMenu:(UIDocumentInteractionController *)controller
的VIEW(條紋?)或按鈕的功能? –
@ Daij-Djan請參閱問題 – Bobrovsky
的更新內容我擔心:您可以使用ibooks url scheme –