В моем приложении я отображаю параметр печати из UIButton
, используя следующий код
UIPrintInfo* printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = NSLocalizedString(@"Offerings", @"");
UIMarkupTextPrintFormatter *formatter = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:@"Share"];
formatter.startPage = 0;
CGFloat margin = 72.0f * 0.1f;
formatter.contentInsets = UIEdgeInsetsMake(margin, margin, margin, margin);
UIPrintInteractionController* pic = [UIPrintInteractionController sharedPrintController];
pic.delegate = self;
pic.showsPageRange = YES;
pic.printInfo = printInfo;
pic.printFormatter = formatter;
[formatter release];
void (^completionHandler)(UIPrintInteractionController*, BOOL, NSError*) = ^(UIPrintInteractionController* printController, BOOL completed, NSError* error)
{
if (!completed && error)
{
UIAlertView* alert = [[UIAlertView alloc]
initWithTitle:NSLocalizedString(@"Printing Error", @"")
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
};
Я пробовал следующие варианты.
[pic presentAnimated:YES completionHandler:completionHandler];
OR
[pic presentFromRect:CGRectMake(btnPrint.frame.origin.x, btnPrint.frame.origin.y, btnPrint.frame.size.width, btnPrint.frame.size.height) inView:self.view animated:YES completionHandler:completionHandler];
Но вылетает с ошибкой: EXE_BAD_ACCESS
Но когда я попробовал следующий код для отображения опции печати, он работает нормально.
[pic presentFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES completionHandler:completionHandler];
Теперь я не использую навигационный контроллер. Поэтому я не могу использовать этот метод выше.
Что мне делать?