1

私はQrジェネレーターアプリケーションで働いており、そのために素晴らしいkyupayライブラリがあります。

そのライブラリでは、文字列値を渡す必要があり、QR画像が返されます。

それはテキスト、電子メールなどのためにうまく機能しています...

しかし今、私は連絡先とイベント用のQR画像を作成したいと思っています。これを行う方法がわかりません。

だから私の問題はそのための論理はどうあるべきか????

私に提案するか、そのためのコードがある場合はそれを共有してください。

4

2 に答える 2

2

私の質問に答えてくれてありがとう。

最後に、連絡先のQrコード文字列を返す関数を作成します。

簡単ですが長すぎます。

ユーザーからのデータ入力をチェックし、データごとにstingを追加して、文字列を作成する必要があります。

私は自分のコードを投稿しているので、他の人を助け、彼らの時間を節約することができます。

-(NSString *)GenerateStringForContact{

    NSString *str = @"";
    NSMutableArray *arr1 =[[NSMutableArray alloc] init];

    for (int i=0 ; i<[arrayAttributeName count]; i++) {

        if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"First Name"]) {
            if ([strContactType isEqualToString:@"ContactMecard"]) {
             [arr1 addObject:@"N:"];
            }else{
             [arr1 addObject:@"FN:"];   
            }
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Last Name"]) {
//            [arr1 addObject:@"N:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Phone"]) {
            [arr1 addObject:@"TEL:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Email"]) {
            [arr1 addObject:@"EMAIL:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"URL"]) {
            [arr1 addObject:@"URL:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Nickname"]) {
            [arr1 addObject:@"NICKNAME:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Title"]) {
            [arr1 addObject:@"TITLE:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Organization"]) {
            [arr1 addObject:@"ORG:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Birthday"]) {
            [arr1 addObject:@"BDAY:"];
        }else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Note"]) {
            [arr1 addObject:@"NOTE:"];
        }

    }

    NSMutableArray *contDetail = arrayAttributeValue;

    if ([strContactType isEqualToString:@"ContactMecard"]) {
        str = @"MECARD:";
//         arr1 = [[NSArray alloc] initWithObjects:@"N:",@"TEL:",@"EMAIL:",@"URL:",@"NOTE:",@"NICKNAME:",@"BDAY:",@"ADR:",nil];

    }else{

       str = @"BEGIN:VCARD";
//       arr1 = [[NSArray alloc] initWithObjects:@"N:",@"TEL:",@"EMAIL:",@"URL:",@"NOTE:",@"NICKNAME:",@"BDAY:",@"ADR:",@"TITLE:",@"ORG:",nil];
    }

    BOOL count = TRUE;
    for (int i =0; i <[contDetail count]; i++) {

        if (![[contDetail objectAtIndex:i] isEqualToString:@""]) {

            NSString *tmp2 =@"";

            if (i == 0 || i == 1) {
                if (count) {


                    if ([strContactType isEqualToString:@"ContactMecard"]) {

                        tmp2 = [NSString stringWithFormat:@"%@,%@",[contDetail objectAtIndex:0],[contDetail objectAtIndex:1]];

                        NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i],tmp2];

                    str = [NSString stringWithFormat:@"%@;%@",str,tmp];

                    }else{
                        tmp2 = [NSString stringWithFormat:@"%@ %@",[contDetail objectAtIndex:0],[contDetail objectAtIndex:1]];

                        NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i],tmp2];

                        str = [NSString stringWithFormat:@"%@\n%@",str,tmp];
                    }

                    count = FALSE;
                }

            }else{

                tmp2 = [contDetail objectAtIndex:i];
                NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i-1],tmp2];

                if ([strContactType isEqualToString:@"ContactMecard"]) {

                    str = [NSString stringWithFormat:@"%@;%@",str,tmp];

                }else{
                    str = [NSString stringWithFormat:@"%@\n%@",str,tmp];
                }


            }

        }
    }

    if (![strContactType isEqualToString:@"ContactMecard"]) {
        str = [NSString stringWithFormat:@"%@\nEND:VCARD",str];


    }
    NSLog(@"here string for generate code %@",str);    

    return str;
}

ありがとう....

于 2012-09-18T11:52:21.437 に答える
0

このサイトで連絡先QRコードを作成する場合:http://zxing.appspot.com/generator/QRコードの作成に使用する文字列を提供します。たぶんあなたはこれをインスピレーションとして使うことができますか?

于 2012-05-02T13:28:19.577 に答える