Ios iPhone:textViewDDIDBeginEdit:textview.tag始终为0
在我的应用程序中,我编写了一个循环,将标记分配给我的文本视图:Ios iPhone:textViewDDIDBeginEdit:textview.tag始终为0,ios,uitextview,uitextviewdelegate,Ios,Uitextview,Uitextviewdelegate,在我的应用程序中,我编写了一个循环,将标记分配给我的文本视图: for(j = 0; j<9; j++) for(k = 0; k<9; k++) { UITextView*txtview = [[UITextView alloc]initWithFrame:CGRectMake(x,y,25,25)]; txtview.backgroundColor = [UIColor clearColor]; txtvie
for(j = 0; j<9; j++)
for(k = 0; k<9; k++) {
UITextView*txtview =
[[UITextView alloc]initWithFrame:CGRectMake(x,y,25,25)];
txtview.backgroundColor = [UIColor clearColor];
txtview.textColor = [UIColor redColor];
txtview.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:18];
txtview.tag = 10*k + j;
txtview.keyboardType = UIKeyboardTypeNumberPad;
[self.view addSubview:txtview];
[txtview sizeToFit];
txtview.delegate = self;
x = x+40;
y = y+40;
NSLog(@"%d",txtview.tag);
}
对于(j=0;j除了添加UITapGestureRecognitor之外,您还可以为UITextView设置delgate
代码如下所示
txtview.delegate = self;
现在您可以收听委托方法
- (void)textViewDidBeginEditing:(UITextView *)textView
{
NSLog(@"textView tag is %d",txtview.tag);
}
我认为你应该使用
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
并将委托设置为TextView
,因为我复制了您的代码并尝试了自己的操作。更改:
txtview.tag = 10*k + j;
到
你到底在哪里设置TextView的代理?handleTap:做什么?这段代码将在同一帧上添加多少TextView?你想添加10个UITextView吗?你实际上在这里添加了100个UITextView。对于缺少的部分和handleTap(这是我尝试使用的旧方法,现在没有用了)感到抱歉。我正在尝试添加81个UITextViews。您的代码在我这端正常工作。
txtview.tag = j*10 + k;