0

我有一个 UIScrollView,我想在我的 tableView 上方。我把它作为我的 tableview 的子视图 - 当它被添加时,tableview 使用 tableView 的 contentOffset 向下滚动到相关部分。当滚动视图滚动时,tableView 滚动回顶部。

我怎样才能阻止这种情况发生?

4

1 回答 1

0

您必须将 UIScrollView 的实例添加为 tableView 单元格的子视图。例如

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return 30;}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

if (indexPath.row == 15) {
    return 200;
}
return 44; }

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *cellIdentifier = @"Cell";


UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];

if (indexPath.row == 15) {

    UIScrollView *scroll = [[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)] autorelease];
    scroll.backgroundColor = [UIColor greenColor];
    scroll.contentSize = CGSizeMake(self.view.frame.size.width, 500);
    [cell addSubview:scroll];
}


return cell; }

然后可以在viewDidLoad中设置tableView的contentOffset

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.tableView.contentOffset = CGPointMake(0, 400); }

你也可以通过继承 UITableViewCell 来创建带有 scrollView 的自定义单元格。在本教程中了解如何自定义 tableView 单元格。

于 2013-02-17T21:29:26.457 回答