UITableViewCell 与 UIScrollView 防止单元格触摸
Posted
技术标签:
【中文标题】UITableViewCell 与 UIScrollView 防止单元格触摸【英文标题】:UITableViewCell with UIScrollView preventing cell touch 【发布时间】:2014-03-13 22:29:42 【问题描述】:我创建了一个 UITableViewCell 类,我在其中创建了一个包含 UIScrollView 作为其 contentView 的单元格。
UIScrollView 可以正常工作,并且具有可以工作的水平滚动功能...但是这会阻止 UITableViewCell 类的触摸方法工作。
这就是我将 UIScrollView 添加到 UITableViewCell 的方式
- (void)drawCell
nameString = [[UILabel alloc] init];
nameString.backgroundColor = [UIColor clearColor];
nameString.frame = CGRectMake(15.0, 0.5, 70.0, 40.0);
nameString.text = [itemsDictionary objectForKey:@"Name"];
addressString = [[UILabel alloc] init];
addressString.backgroundColor = [UIColor clearColor];
addressString.frame = CGRectMake(105.0, 0.5, 95.0, 40.0);
addressString.text = [itemsDictionary objectForKey:@"Address"];
rd4String = [[UILabel alloc] init];
rd4String.backgroundColor = [UIColor clearColor];
rd4String.frame = CGRectMake(220.0, 10.5, rd4String.frame.size.width, 50.0);
rd4String.text = [NSString stringWithFormat:@"ID %@: %@",[itemsDictionary objectForKey:@"name"] ,[itemsDictionary objectForKey:@"address"]];
[rd4String sizeToFit];
scrollCell = [[UIScrollView alloc] init];
scrollCell.backgroundColor = [UIColor whiteColor];
scrollCell.frame = CGRectMake(0.0, 0.0, ScreenWidth, 45.0);
[scrollCell setContentSize:(CGSizeMake((220.0 + rd4String.frame.size.width)+15, 45.0))];
[scrollCell addSubview:nameString];
[scrollCell addSubview:addressString];
[scrollCell addSubview:rd4String];
[[self contentView] addSubview:scrollCell];
我从我的 UITableViewCell 调用这个类,一切正常显示,我可以滚动 UITableViewcell 我只是无法选择单元格。
【问题讨论】:
【参考方案1】:虽然缺乏对问题的整体详细描述,但您可以检查您是否正确使用UITableViewDelegate
并实现tableView:didSelectRowAtIndexPath:
方法。
此外,如果您想在表格单元格中实现滑动操作,您可以参考以下实现之一:
https://github.com/Dromaguirre/PDGestureTableView https://github.com/JLZ/JZSwipeCell【讨论】:
以上是关于UITableViewCell 与 UIScrollView 防止单元格触摸的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 与 UITextField 失去选择 UITableView 行的能力?
自定义uitableviewcell时,registerNib与registerClass的区别(转载)
UIMenucontroller 与 uitableviewcell 上的 uitextview
UITableViewCell 中的 UIStackView 与多行 UILabel