UITableViewCell的contentView添加UIScrollView,不会执行segue

时间:2013-12-25 12:53:27

标签: ios uitableview uiscrollview

我有一个子类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];
}

1 个答案:

答案 0 :(得分:0)

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

或者你可以做你正在做的事情,但是你需要用自己的方式替换所有标准的表格视图单元格和行为,这几乎是不可能的。

向表格视图单元格添加滚动视图可能是一个坏主意。表视图本身是滚动视图的子类,并且很难/不可能理清哪些手势应该滚动表视图以及哪些手势应该滚动单元格。我能看到工作的唯一方法是单元格的滚动视图仅限于水平滚动。