UITableViewCell的内容视图添加UIScrollView,不会执行segue



我有一个子类UITableViewCell,如果我将UIScrollView添加到单元格的contentView,则无法执行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];
}

您正在添加一个滚动视图,该视图是内容视图中单元格的完整大小,位于单元格中所有其他视图的顶部。它掩盖了它们,所以没有点击通过。我怀疑您想添加一个滚动视图作为其他视图的容器。我不知道如何使用表视图基类为您管理的所有标准视图来做到这一点。您必须以某种方式覆盖基类的行为,并将内容视图更改为滚动视图。

或者,您可以执行您正在执行的操作,但随后需要将所有标准的表视图单元格字段和行为替换为自己的字段和行为,这几乎是不可能的。

在表视图单元格中添加滚动视图可能是个坏主意。表视图本身是滚动视图的一个子类,很难/不可能区分哪些手势应该滚动表视图,哪些手势应该滑动单元格。我能看到的唯一方法是,如果单元格的滚动视图仅限于水平滚动。

最新更新