这可能是个愚蠢的问题, 我搜索了这个地段并找到了多个答案。但没有帮助我很多
我正在UItextView
添加UITableViewCell
。 (不是自定义单元格)
这是我的代码
UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];
ansTextV.editable = YES;
ansTextV.backgroundColor = [UIColor redColor];
[ansTextV setFont:[UIFont fontWithName:@"OpenSans" size:25]];
[cell.contentView addSubview:ansTextV];
[ansTextV release];
UITextView
不可编辑。
但同时我在self.view
上添加此文本视图时,它是可编辑的。
但不是UITableView
。
我检查了UITableview
互动和UITableViewCell
可编辑。
但是没有用。
我做错了什么。 谢谢你的帮助
答案 0 :(得分:0)
试试这个:
[tableView setUserInteractionEnabled:YES];
[cell setUserInteractionEnabled:YES];
[ansTextV setEditable:YES];
[ansTextV setUserInteractionEnabled:YES];
顺便说一下,我认为可能还有其他问题。
UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];
检查cell.frame.size.width
&的大小。 cell.frame.size.height
。
希望这会有所帮助.. :)
答案 1 :(得分:0)
如果它在UIView上添加时正常工作,那么您的委托设置正确,所以现在尝试:
cell.userinteractionenabled=YES;
yourTableView.userenterationEnabled=YES;
可能会对你有用。
答案 2 :(得分:0)
在adding
return Cell
cellForRowAtIndexPath Method
之前尝试[cell.contentView bringSubviewToFront:ansTextV];
以下一行。
{{1}}
答案 3 :(得分:0)
在viewDidLoad()方法中,尝试以下代码:
[self.view setUserInteractionEnabled:YES];
[self.tableView setUserInteractionEnabled:YES];
同样在您的cellForRowAtIndexPath()方法中,请尝试以下代码:
[cell setUserInteractionEnabled:YES];
[cell.contentView setUserInteractionEnabled:YES];
[cell.contentView addSubview:ansTextV];
[cell.contentView bringSubviewToFront:ansTextV];
[ansTextV setUserInteractionEnabled:YES];
[ansTextV setEditable:YES];
答案 4 :(得分:0)
我认为你必须在某事物的背后添加,意味着使其可用,你必须把它带到前面试试这个:
[yourTableViewName bringSubviewToFront:yourTextView];
这会将你的backView带到前面,它将是可执行的。
答案 5 :(得分:0)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CellIdentifier";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];
ansTextV.editable = YES;
ansTextV.backgroundColor = [UIColor redColor];
[ansTextV setFont:[UIFont fontWithName:@"OpenSans" size:25]];
[cell.contentView addSubview:ansTextV];
ansTextV=nil;
return cell;
}
我已经为它制作了示例代码。 我使用了storyboard并在viewcontroller上添加了tableview plz检查屏幕截图
答案 6 :(得分:0)
一个已知问题是,当单元格的 contentView.isUserInteractionEnabled
默认设置为 true
时,您必须在 cellForRow
中将其设置为 false,以便响应者链到达您的 {{1 }}:
UITextField