6

我想显示一个列表,其中包含设备可通过 AirPrint 访问的所有打印机。

我可以使用UIPrinterPickerController.

无论如何以自定义方式显示此 PickerController,假设将数据输入到UITableView?

另请注意,我计划在仅支持UIPrinterPickerController.presentFromRect(CGRect)

这是它现在的样子。而不是这个弹出窗口应该有一个UITableView

打印机弹出窗口

4

1 回答 1

2

NSNetServiceBrowser正是为此。

简而言之,您需要做的是:

1)设置一个对象为 NSNetServiceBrowserDelegate 2)创建一个 NSNetServiceBrowser 对象 3)分配委托 4)使用browserObject.searchForServices(ofType: "_printer._tcp.", inDomain: "")将得到各种反馈给委托。

我的一个简单测试是:

didFind: Samsung C460 Series (SEC001174EDCB63)

对于委托方法:

func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) {
    print("didFind: \(service.name)")
}
于 2016-09-02T07:31:01.360 回答