点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?

iOS 码拜 7年前 (2015-05-05) 375次浏览 0个评论
 

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?

点击textField外面的地方就可以触发,为什么呢?

如何让点击tableview中的textField触发didSelectRowAtIndexPath事件?

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
textField  和tableView是两码事
点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
40分
自定义或者在cell里面addsubview了,并且没有 userInteractionEnabled = NO;对不对?对不对?
点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
可以在delegate中
// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
– (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath;
– (NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath
查看??
点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
引用 3 楼 ybh37 的回复:

可以在delegate中
// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
– (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIn……

点击cell中的textfield这两个方法也没有触发

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ 
     
    //获取第几分区
    NSUInteger section = [indexPath section];
    //获取行
    NSUInteger row=[indexPath row]; 
         
    static NSString *simpleTableIdentifier=@"SimpleTableIdentifier"; 
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 
    if(cell==nil){ 
        cell=[[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:simpleTableIdentifier] autorelease]; 
    } 
     
    UITextField *txtField2=[[UITextField alloc] initWithFrame:CGRectMake(10, 2, 580, 40)];
     
    //NSLog(@"[tableData objectAtIndex:row]:%@",[tableData objectAtIndex:row]);
    txtField2.text=[listData objectAtIndex:row]; 
    txtField2.delegate=self;
    txtField2.tag=row+10;
     
    //txtField.backgroundColor=[UIColor redColor];
     
    txtField2.font=[UIFont fontWithName:@"Arial" size:28];
    //[txtField scrollRectToVisible:CGRectMake(0, txtField.contentSize.height-15, txtField.contentSize.width, 10) animated:YES];
    [txtField2 addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
    [cell.contentView addSubview:txtField2];
     
    [txtField2 release];
     
     
    //cell.textLabel.text=[listData objectAtIndex:row]; 
    //cell.textLabel.font=[UIFont boldSystemFontOfSize:15];
     
    return cell; 
}
点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
引用 2 楼 ybh37 的回复:

自定义或者在cell里面addsubview了,并且没有 userInteractionEnabled = NO;对不对?对不对?

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
要这样?? 
txtField2.userInteractionEnabled = NO;

回去试试
这般处理后就好了??

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
txtField2.userInteractionEnabled = NO;

这样txtField都不能输入文字了。

已经用另一种方法解决了。

不过点击txtField还是触发不了willSelectRowAtIndexPath

点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
哦 这个给疏忽了??
还可以用页面切换、touch事件中触发cell选中 等思路??
不过,解决就好了,呵呵
点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
view穿透,就是说两层或以上的view都能同时触发touch事件。
我一直奔着这个思路去的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明点击tableview中的textField为什么没有出发 didSelectRowAtIndexPath事件?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!