我有一个UIScrollView,我希望它在我的tableView之上。我将它作为我的tableview的子视图 - 当它被添加时,tableview将使用tableView的contentOffset向下滚动到relavent部分。滚动滚动视图时,tableView会向上滚动到顶部。
如何阻止这种情况发生?
答案 0 :(得分:0)
您必须添加UIScrollView实例作为tableView单元格的子视图。 E.g。
- (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的自定义单元格。李尔怎么样 自定义此tutorial中的tableView单元格。