В моем приложении можно распечатать фотографии разных размеров. Это работает нормально, но с iOS 8 размер бумаги всегда Letter / A4, даже если отображается диалоговое окно печати, например, 5 "x7". Если пользователь снова выбирает размер бумаги, размер бумаги изменяется, например, на 5 "x7".
Есть ли у кого-нибудь такая же проблема?
Есть ли обходной путь?
Вот код:
- (UIPrintPaper *)printInteractionController:(UIPrintInteractionController *)printInteractionController choosePaper:(NSArray *)paperList
{
CGSize PageSize = ((PPPage *)[document.pages objectAtIndex:0]).paperSize;
if (PageSize.width > PageSize.height) {
float w = PageSize.width;
PageSize.width = PageSize.height;
PageSize.height = w;
}
NSLog(@"printInteractionController:choosePaper: Needed Pagesize = (%.1f,%.1f)",PageSize.width,PageSize.height);
UIPrintPaper *retPaper = [UIPrintPaper bestPaperForPageSize:PageSize withPapersFromArray:paperList];
NSLog(@"printInteractionController:choosePaper: chosen UIPrintPaper = (%.1f,%.1f)",retPaper.paperSize.width,retPaper.paperSize.height);
return retPaper;
}
И вывод журнала:
2015-06-19 12: 22: 53.474 PhotoPrint [5955: 1225053] printInteractionController: choosePaper: Needed Pagesize = (288.0,432.0) 2015-06-19 12: 22: 54.118 PhotoPrint [5955: 1225053] printInteractionController: choosePaper: selected UIPrintPaper = (612.0,792.0) 2015-06-19 12: 22: 54.118 PhotoPrint [5955: 1225053] - [PKPaperList matchedPaper: seekBorderless: withDuplexMode: didMatch:] paperToMatch = result = matchType = 0 19.06.2015 12:23: 06.351 PhotoPrint [5955: 1225053]
-> выбрана буква неправильного размера бумаги!
Теперь снова выберите бумагу:
printInteractionController: choosePaper: Needed Pagesize = (288.0,432.0) 2015-06-19 12: 23: 14.860 PhotoPrint [5955: 1225053] printInteractionController: choosePaper: selected UIPrintPaper = (360.0,504.0) 2015-06-19 12:23: 14.860 PhotoPrint [5955: 1225053] - [PKPaperList matchedPaper: seekBorderless: withDuplexMode: didMatch:] paperToMatch = result = matchType = 0
-> на этот раз правильный размер бумаги.