我有一个子类UITableViewCell,如果我向单元格的contentView添加UIScrollView,则无法执行segue,如果我对该行进行注释,则可以执行segue。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self setup];
}
return self;
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self setup];
}
- (void)setup
{
UIScrollView *scrolView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.bounds), CGRectGetHeight(self.bounds))];
scrolView.contentSize = CGSizeMake(CGRectGetWidth(self.bounds)+kButtonWidth, CGRectGetHeight(self.bounds));
scrolView.delegate = self;
scrolView.showsHorizontalScrollIndicator = NO;
// [self.contentView addSubview:scrolView];
}
答案 0 :(得分:0)
您正在添加滚动视图,该视图是内容视图中单元格的完整大小,位于单元格中所有其他视图的顶部。它覆盖了它们,所以没有点击通过。我怀疑您想要将滚动视图添加为其他视图的容器。我不知道如何使用表视图基类为您管理的所有标准视图。您必须以某种方式覆盖基类的行为并将内容视图更改为滚动视图。
或者你可以做你正在做的事情,但是你需要用自己的方式替换所有标准的表格视图单元格和行为,这几乎是不可能的。
向表格视图单元格添加滚动视图可能是一个坏主意。表视图本身是滚动视图的子类,并且很难/不可能理清哪些手势应该滚动表视图以及哪些手势应该滚动单元格。我能看到工作的唯一方法是单元格的滚动视图仅限于水平滚动。