しばらくの間、私はカスタムチタンモジュールを作るのを渋滞させている。私はotrherアプリでpdfを開こうとしています。 すべてが正しいようです(警告などはありません) しかし、navbarのボタンを押すと表示されるメニューはありません。ここでUIDocumentinteractioncontrollerがメニューを表示しないのはなぜですか?
は、メニューを表示する方法のコードです:
ENSURE_SINGLE_ARG_OR_NIL(args,NSDictionary);
TiViewProxy* viewAnchor = [args objectForKey:@"view"];
NSString* fileToOpen = [args objectForKey:@"url"];
NSLog(@"%@",fileToOpen);
if(viewAnchor != nil){
NSLog(@"viewAnchor is not nil accessing controller");
NSLog(@"%@",[TiUtils toURL:fileToOpen proxy:self]);
CGRect rect = [TiUtils rectValue:args];
self.controller = [[UIDocumentInteractionController interactionControllerWithURL:[TiUtils toURL:fileToOpen proxy:self]] retain];
self.controller.delegate = self;
BOOL menuDisplayed = [self.controller presentOpenInMenuFromBarButtonItem:[viewAnchor barButtonItem] animated:YES];
//menuDisplayed = YES
if(menuDisplayed)
{
NSLog(@"Menu is displayed");
//This display's com.adobe.pdf
NSLog(@"%@",self.controller.UTI);
}
else
{
NSLog(@"Menu failed to display");
}
}
もう少し実際に作成されたメニューをテストしたが表示されていない後あなたはあなたの方法は、マクロでUIスレッド上で実行されていることを確認する必要があります。その後、アプリケーションを閉じてメニューを再度開くことができます。それは基本的なviewProxyのレイアウトの問題のようです – gvanbeck