2011-10-20 41 views
2

我已成功將打印功能添加到使用UIPrintInteractionController類的iPad應用程序。事情運作良好,並打印標準文件。使用AirPrint和UIPrintInteractionController的自定義打印選項

但是,有幾個BOOL屬性可以在我的應用程序中爲打印作業定義。 (打開某些功能,添加其他佈局方案等)

這些選項如何由用戶使用UIPrintInteractionController進行展示/修改?完美的解決方案是將一些開關表視圖單元添加到該控制器中呈現的UITableView,但這似乎不被API所允許。

編輯:這就是我所說的觀點:

enter image description here

回答

1

它看起來像最好的選擇(到目前爲止)是一個delegate分配給UIPrintInteractionController,並有該委託執行的方法:

- (UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController 

如果委託返回UINavigationController的一個實例,然後代替以模態呈現,它可以從提供選項列表的UITableViewController子類推送。

UIPrintInteractionControllerDelegate類參考:

UIKit中可以推返回的視圖控制器送到堆棧上如果其 父是導航控制器或模態呈現它,如果它不是。

UIPrintInteractionControllerDelegate Class Reference

+0

如果我這樣說,那麼我也將不得不處理所有其他任務,對嗎? –

0

你可以嘗試繼承UIPrintInteractionController,有一個在類參考沒有暗示這是不可能的。

3

使用printInteractionControllerParentViewController,關鍵是要申報的UINavigationController *aNav;.h,然後在viewDidLoadaNav = [self UINavigationController];這將保存navigationController手柄(假設自我是UITableViewControllerUINavigationController設置OK)。

然後在調用uiprinterinteraction之後,執行aNav.topViewController.viw.backgroundColor = [UIColor redColor];uiprinterinteraction背景顏色更改爲紅色。

最後,在printInteractionControllerParentViewController做一回aNav;

現在你已經成功地改變了AirPrint界面的背景顏色。

通過使用這個aNav,你可以做很多事情。

相關問題