0

ポップアップ内にUIPrintInteractionControllerを実装しました。ポップアップ内のUIPrintInteractionController

reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.' 

でもiPadのシミュレータでのテストに:

(UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController { 
    UINavigationController* navigationController = [[UINavigationController alloc] init]; 
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navigationController]; 
    [popover presentPopoverFromRect:address.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
    [popover.contentViewController.view setBackgroundColor:[UIColor grayColor]]; 
    navigationController.preferredContentSize = CGSizeMake(320, 540); 
    return navigationController; 
} 
をしかし、それは言ってクラッシュ - 私が実装しました。何をすべきか ?私はちょうど thisのようなポップアップを実装する必要があります。

+0

問題はdiffサイズの画面です。 – vaibhav

+0

@vaibhav ipadsをターゲットにしている場合はどうすればよいですか。 –

+0

助けがあれば私のansを見てください。 – vaibhav

答えて

0
あなたはそれがコードの下に使用してiPadやiPhoneであるかどうかの違いデバイスを把握することができます

..

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    // code for iPad here 
}else{ 

    // code for iPhone here 
} 

更新

  • あなたは以下の使用してポップオーバーするカスタムビューを使用することができますメソッドにuiviewを渡します。

    -(void) popOver:(UIView *)view{ 
    
    view.hidden = NO; 
    
    view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001); // view to popup 
    [UIView animateWithDuration:0.3 
           animations:^{ 
            view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1); 
          } completion:^(BOOL finished) { 
           [UIView animateWithDuration:0.1 
                animations:^{ 
                 view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9,0.9); // custom view 
                }completion:^(BOOL finished) { 
                 [UIView animateWithDuration:0.1 animations:^{ 
                  view.transform = CGAffineTransformIdentity; // custom view to pop 
                 }]; 
                }]; 
          }]; 
    
    } 
    

この方法は、ポップオーバー等のUIViewが現在その上にUIコンポーネントのいずれかを追加することができます示します。

+0

私はこの答えを見てきましたが、これを実装しましたが、役に立たないです。私はどのようにIpadのためにこれを行うことができるか知りたいですか? –

+0

上記のコードは、iPadまたはiPhoneを分類するのに完璧です。あなたの問題について詳しく説明してください。 – vaibhav

+0

おそらく、これは私が理解するまであなたの問題のansになります。この[リンク](http://stackoverflow.com/questions/8391176/popoverviewcontroller-crash-on-iphone-works-on-ipad)を見てください。 – vaibhav

関連する問題