2016-08-15 2 views
6

Я хотел бы показать список со всем принтером, доступным через устройство через AirPrint.Список доступных принтеров AirPrint

Я получаю его работу с использованием UIPrinterPickerController.

Есть ли способ показать это PickerController обычным способом, скажем, подавать данные в UITableView?

отметить также, что я планирую использовать это приложение на IPad, который поддерживает только UIPrinterPickerController.presentFromRect(CGRect)

Вот как это выглядит прямо сейчас. Вместо этого всплывающего окна должен быть UITableView

Printer Popup

+0

Я интересно, если с 'printerPickerController: shouldShowPrinter:' вы можете получить все 'UIPrinter' , так как он должен быть вызван для каждого принтера. Возможно, вам придется вызвать show 'UIPrinterPickerController' (и скрыть его или в невидимой части экрана, быстро уволить, я не знаю, когда должен быть вызван метод делегата, т. Е. Если ячейка будет отображаться или уже установлена), чтобы вызывать предыдущий метод 'UIPrinterPickerControllerDelegate'. – Larme

ответ

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)") 
} 
+0

Это выглядит хорошо. Могу только протестировать на следующей неделе, поскольку, поскольку у меня нет принтеров AirPrint – smnk

+0

Для таких, как я, которые пытались понять этот ответ, не зная о цели-c/swift, остерегайтесь, что об этом объясняется более подробная информация в разделе https: //developer.apple.com/library/content/documentation/Networking/Conceptual/NSNetServiceProgGuide/Articles/BrowsingForServices.html. –

 Смежные вопросы

  • Нет связанных вопросов^_^