2

友達に詳細を見せているビューのアプリを作っています。したがって、詳細を変更する必要がある場合。ラベルを変更するには、ラベルを確認する必要があります。ここでは、ラベルごとにタグ値を設定しました。

ユーザーがラベルを押すと、新しいテキストフィールドがビューに表示され、ユーザーは詳細を変更できます。

したがって、このために、タッチ値をチェックするタッチ開始メソッドを作成しました...しかし、ラベルにタッチするたびに、ビューのタグ値がゼロになりますが、ラベルのタグ値を取得する必要があります。クリックしました。

私のコードを以下に示します...

txtTmp = [[UITextField alloc] init];    

//txtTmp is the textfield which should appear as super view of the label where i have clicked

    txtTmp.delegate=self;

self.lblName.tag=11;

UITouch *touch = [touches anyObject]; 

//ここでは、ユーザーインタラクションを有効にしている場合でも、タグ値を0として取得しています...

NSLog(@"view.tag = %d",touch.view.tag);

if(touch.view.tag==11) {



    [txtTmp setFrame:CGRectMake(162, 43, 138, 50)];
    txtTmp.text=lblName.text;
    [self.view addSubview:txtTmp];
    [txtTmp becomeFirstResponder];
    temp=1;



}

私の質問に関して何か問題があれば..私に戻ってください....

ありがとう、

4

1 に答える 1

5

self.lblName のユーザー操作を有効にする必要があります。

   [self.lblName setUserInteractionEnabled:YES];

また、viewWithTag メッセージを使用して、touchesbegan メソッドでタッチされたラベルを確認できます。

UITouch *touch = [touches anyObject];

if(touch.view == [self.view viewWithTag:11]) 
{
    [txtTmp setFrame:CGRectMake(162, 43, 138, 50)];
    txtTmp.text=lblName.text;
    [self.view addSubview:txtTmp];
    [txtTmp becomeFirstResponder];
    temp=1;
}
于 2012-05-07T06:15:13.657 に答える