我有UITableView
个约15个单元格和setScrollEnabled:YES
。我面临的问题是:
滚动时,整个表格视图会移动。即:如果我向上滚动,表格视图向上移动并覆盖顶部栏。
我想要做的是在UITableView
内部滚动以便它不会移动,只有其中的单元格/单元格内容向上/向下移动(可能甚至使用垂直指示器也是如此?)。
我在SO或Google搜索上找不到任何内容。
我目前使用的内容如下:
#define NUMBER_ROWS 15
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self.rearTableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.rearTableView setSeparatorInset:UIEdgeInsetsZero];
}
if (IS_WIDESCREEN) {
[self.rearTableView setScrollEnabled:YES];
[self.rearTableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return NUMBER_ROWS;
}
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
MenuCell *cell = (MenuCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (nil == cell)
{
cell = [[MenuCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
[cell.textLabel setBackgroundColor:[UIColor clearColor]];
[cell.textLabel setHighlightedTextColor:[UIColor whiteColor]];
cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.bounds];
[cell.selectedBackgroundView setBackgroundColor:[UIColor menuSelected]];
if (indexPath.row == 0)
{
cell.textLabel.text = @" Films";
cell.imageView.image = [UIImage imageNamed:@"icon_film.png"];
cell.imageView.highlightedImage = [UIImage imageNamed:@"icon_film_active.png"];
[cell.contentView setBackgroundColor:[UIColor menuGray]];
[cell.textLabel setTextColor:[UIColor menuParent]];
//[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[[cell textLabel] setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:18]];
}
....
}
问题图片:
UITableView向下移动
UITableView向上移动并覆盖顶部栏
由于