如何从视图中了解标记值

vsh*_*all 2 tags iphone uiview

我正在制作一个应用程序,其中我有一个视图,我正在显示朋友的详细信息.所以,如果我需要改变细节.我将不得不检查标签来改变它.在这里,我为每个标签设置了标签值.

如果用户按下标签,则新文本字段将显示在视图上,用户可以更改详细信息.

所以对于这个我写的触摸开始方法,我正在检查触摸值...但每当我触摸任何标签我得到视图的标签值为零,因为我应该得到标签上的标签值我点击了.

我的代码如下所示......

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]; 
Run Code Online (Sandbox Code Playgroud)

//这里即使我启用了用户交互,我也会将标记值设为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;



}
Run Code Online (Sandbox Code Playgroud)

如果你对我的问题有任何疑问......请回复我......

谢谢,

Pri*_*bra 5

您应该启用self.lblName的用户交互.

   [self.lblName setUserInteractionEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

您还可以使用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;
}
Run Code Online (Sandbox Code Playgroud)