Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用AirPrint和UIPrintInteractionController的自定义打印选项_Iphone_Objective C_Cocoa Touch_Airprint - Fatal编程技术网

Iphone 使用AirPrint和UIPrintInteractionController的自定义打印选项

Iphone 使用AirPrint和UIPrintInteractionController的自定义打印选项,iphone,objective-c,cocoa-touch,airprint,Iphone,Objective C,Cocoa Touch,Airprint,我已经成功地将打印功能添加到使用UIPrintInteractionController类的iPad应用程序中。事情进展顺利,并且打印了一份标准文档 但是,在我的应用程序中,可以为打印作业定义几个BOOL属性。(打开某些功能、添加其他布局方案等) 用户如何使用UIPrintInteractionController显示/修改这些选项?完美的解决方案是在控制器中显示的UITableView中添加一对切换表视图单元格,但API似乎不允许这样做 编辑:这是我指的视图: 您可以尝试将UIPrintInt

我已经成功地将打印功能添加到使用
UIPrintInteractionController
类的iPad应用程序中。事情进展顺利,并且打印了一份标准文档

但是,在我的应用程序中,可以为打印作业定义几个
BOOL
属性。(打开某些功能、添加其他布局方案等)

用户如何使用
UIPrintInteractionController
显示/修改这些选项?完美的解决方案是在控制器中显示的
UITableView
中添加一对切换表视图单元格,但API似乎不允许这样做

编辑:这是我指的视图:


您可以尝试将UIPrintInteractionController子类化,在类引用中没有不可能的提示。

看起来(到目前为止)最好的办法是将一个
委托分配给
UIPrintInteractionController
,并让该委托实现该方法:

- (UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController
如果委托返回
UINavigationController
的实例,则可以从提供选项列表的
UITableViewController
子类中推送它,而不是以模式显示

UIPrintInteractionControllerDelegate
类参考:

如果返回的视图控制器 父项是导航控制器,如果不是,则以模式显示


使用
printInteractionControllerParentViewController
,技巧是声明一个
UINavigationController*aNav
.h
中,然后在
viewDidLoad
do
aNav=[self-UINavigationController]这将保存
导航控制器
句柄(假设self是
UITableViewController
UINavigationController
设置ok)

然后在调用
uiprinterinteraction
之后,执行
aNav.topViewController.viw.backgroundColor=[UIColor redColor]
uiprinterinteraction
背景色更改为红色

最后,在
printInteractionControllerParentViewController
中执行返回
aNav

现在您已成功更改AirPrint ui的背景色


通过使用这个
aNav
,你可以做很多事情。

如果我做到了上面所说的,那么我还必须处理所有其他任务,对吗?