4

IKScannerDeviceViewを使用してアプリ内のドキュメントをスキャンするにはどうすればよいですか?

IBを介してビューにIKScannerDeviceViewを追加し、そのデリゲートをアプリデリゲート(IKScannerDeviceViewDelegateを実装)に設定しようとしましたが、アプリを実行すると、ボタンShow DetailsScan、のみShow Detailsが有効になり、クリックしても何も表示されません。起こります。

スキャナーを接続していて、Image Captureを介してスキャンできますが、アプリを介してスキャンすることはできません。

誰かがそれを使用する方法についての良いチュートリアルを持っていますか?

4

1 に答える 1

8

ようやく IKScannerDeviceView の使い方を理解できました。

クラスは次のデリゲートを実装する必要があります。

IKScannerDeviceViewDelegate, ICScannerDeviceDelegate, ICDeviceBrowserDelegate

ウィンドウに IKScannerDeviceView を配置し、デリゲートを実装するクラスに設定する必要があります。IKScannerDeviceViewDelegate

ICDeviceBrowser使用を開始するには、次のようなものを作成する必要があります。

    ICDeviceBrowser *mDeviceBrowser = [[ICDeviceBrowser alloc] init];
    mDeviceBrowser.delegate = self;
    mDeviceBrowser.browsedDeviceTypeMask = ICDeviceLocationTypeMaskLocal|ICDeviceLocationTypeMaskRemote|ICDeviceTypeMaskScanner;
    [mDeviceBrowser start];

次に、次のような方法でデリゲート メソッドを実装します。

- (void)scannerDeviceDidBecomeAvailable:(ICScannerDevice*)scanner;
{
    [scanner requestOpenSession];
}
- (void)deviceBrowser:(ICDeviceBrowser*)browser didAddDevice:(ICDevice*)addedDevice moreComing:(BOOL)moreComing
{
    if ( (addedDevice.type & ICDeviceTypeMaskScanner) == ICDeviceTypeScanner )
    {
        [scannerView setScannerDevice:(ICScannerDevice*)addedDevice];
    }
}
-(void)didRemoveDevice:(ICDevice*)removedDevice
{
    [removedDevice requestCloseSession];
}

その後、すべてがうまくいけば、IKScannerDeviceView はスキャナーとやり取りできるようになります!

于 2012-09-21T00:41:53.927 に答える