我(相当复杂)的情况如下:
TestView
是UIScrollView
的子类,它实现了-drawRect:
,但在-drawRect:
内的某个点,它会调用一个方法,让我们说-drawAnotherPartWithRect:context:
。此方法由TestView
的子类实现,以单独绘制上下文的某个部分。TestView
有两个子类,它们实现-drawAnotherPartWithRect:context:
,目前在其中执行相同的事情:Subclass1
和Subclass2
。< / LI>
Subclass1
的一个实例用作表格视图的节标题,它完美地运行,但如果Subclass2
用作单元格内容视图的子视图,它将显示,但不会滚动。它的初始化如下:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PortoAppSubjectViewTableViewCell"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"PortoAppSubjectViewTableViewCell"] autorelease];
Subclass2 *contentView = [[[Subclass2 alloc] initWithFrame:CGRectMake(0.f, 0.f, [tableView bounds].size.width, 32.f)] autorelease];
[contentView setContentSize:CGSizeMake(tableView.bounds.size.width * 3, 32.f)];
[contentView setTag:55];
[[cell contentView] addSubview:contentView];
}
[(SubjectTableViewCellContentView *)[[cell contentView] viewWithTag:55] setContainer:[[[[$container subGradeContainers] objectAtIndex:[indexPath section]] subGradeContainers] objectAtIndex:[indexPath row]]];
return cell;
}
有趣的是,水平滚动指示器显示并向我显示它正在滚动,但文本(使用CoreText绘制)不会随之左右移动。这与Subclass1
开箱即用。此外,如果使用Subclass2
作为节标题视图的视图类,它将正常工作。
那么,水平滚动视图和表视图单元格有什么用呢?我已经在SO上查看了其他相关问题,但未能找到任何解决方案。
答案 0 :(得分:0)
我解决了这个问题,而不是直接绘制到UIScrollView
子类,绘制为UIView
子类添加为UIScrollView
的子视图。
我仍然喜欢一些跟进,因此问题没有得到解答 - 为什么它与标题视图一起使用而不是表视图单元呢?