0

Я должен реализовать UIPrintInteractionController внутри всплывающего окна. Я реализовал -UIPrintInteractionController внутри всплывающего окна

(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; 
} 

Но происшествиям говоря:

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

Даже на тестировании в Ipad тренажере. что делать ? Я должен реализовать всплывающее окно точно так же, как this.

+0

ваша проблема касается экранов разного размера – vaibhav

+0

@vaibhav, что мне делать, если я нацелен на ipads. –

+0

см. Мои сообщения, если это полезно .. – 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 как пирог будет теперь иметь возможность добавлять любого из компонентов пользовательского интерфейса над ним.

+0

Я видел этот ответ, и я реализовал это, но это не полезно. Я хочу знать, как это сделать для Ipad? –

+0

приведенный выше код просто идеален для классификации iPad или iPhone. Пожалуйста, объясните свою проблему более подробно. – vaibhav

+0

возможно, это будет проблемой вашей проблемы, пока я не пойму ... Примите это [link] (http://stackoverflow.com/questions/8391176/popoverviewcontroller-crash-on-iphone-works-on-ipad). – vaibhav

Смежные вопросы