2011-12-27 9 views
-2

以下のコードを使用すると、2つのボタンと2つのテキストフィールドがありますが、単一メソッドを使用してqrcode値を取得しています。 2つのテキストフィールドにどのように使用できますかiPhoneが単一のメソッドから2つの異なるテキストフィールドに値を取得する

- (IBAction) keyScanButtonTapped 
{ 

NSLog(@"TBD: scan barcode here..."); 

// ADD: present a barcode reader that scans from the camera feed 
ZBarReaderViewController *reader = [ZBarReaderViewController new]; 
reader.readerDelegate = self; 
reader.supportedOrientationsMask = ZBarOrientationMaskAll; 

ZBarImageScanner *scanner = reader.scanner; 
// TODO: (optional) additional reader configuration here 

// EXAMPLE: disable rarely used I2/5 to improve performance 
[scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; 

// present and release the controller 
[self presentModalViewController: reader animated: YES]; 

[reader release]; 

} 

-(void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info 
{ 

// ADD: get the decode results 

id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; 

ZBarSymbol *symbol = nil; 

for(symbol in results) 
    // EXAMPLE: just grab the first barcode 
    break; 

// EXAMPLE: do something useful with the barcode data 

deviceKey.text = symbol.data; 

// EXAMPLE: do something useful with the barcode image 

resultImage.image = [info objectForKey: UIImagePickerControllerOriginalImage]; 

// ADD: dismiss the controller (NB dismiss from the *reader*!) 
[reader dismissModalViewControllerAnimated: YES]; 
} 
+2

多分私だけですが、この質問は意味をなさないと思われます。私は、あなたのオリジナルの質問をさらに詳細に改善することをお勧めします。どのような順序で何が起こるはずですか? – Till

+0

仕様を見る - アクションメソッドは、タッチされたボタンへのポインタであるパラメータを受け入れます。それにリンクされた2つのボタンと比較して、どれがタッチされたかを確認します。 –

答えて

1

この同じ機能に2つの異なるボタンを接続したいだけですか?それは問題ではなく、インターフェイスビルダに入り、両方のボタンをこのメソッドに接続するだけです。あなたは、コールバック関数が呼び出されたときにタグが

-(void)buttonPressed:(id)sender{ 
    //find out which button was pressed 
    UIButton * pressed = (UIButton*) sender; 
    NSInteger tag = pressed.tag; 
} 

ように機能していると呼ばれたボタンを識別することができます

How can I connect "File's Owner" with a button in a Toolbar?

インターフェイスビルダーのボタンを接続する方法でこの質問を見ることができますインターフェイスビルダで定義されているように、2つのボタンで異なることを確認してください。

+0

1つのメソッドで2つのボタンを簡単に接続できることはわかっています...実際には、メソッドkeyScanButtonTappedはデリゲートメソッドを呼び出しています( - (void)imagePickerController:(UIImagePickerController *)reader didFinishPickingMediaWithInfo:(NSDictionary *)info {qrcode readerこのデリゲートメソッドでは、単一のテキストフィールドにのみデータが割り当てられます(deviceKey.text = symbol.data;)。私はdeviceID.textにsymbol.dataをどのように割り当てることができるか知りたい。 1つのボタンがタップされたときにdataKeyがdeviceKey textfieldに割り当てられ、他のボタンタップがdeviceIDテキストフィールドに割り当てられるようにします – AppDeveloper

+0

どのボタンが押されたかを特定し、そのデータを次の関数。 – MikeIsrael

+0

それは動作しませんでした:( – AppDeveloper

関連する問題