У меня есть два вида, каждый из которых содержит табличное представление. Они одинаковы во всех отношениях, кроме высоты. Каждый из них передает данные из одного и того же объекта (в настоящее время заполненного тарабарщиной) в моем хранилище основных данных.Поведение прокрутки Strange Tableview
Один из них отлично работает при прокрутке, другой ведет себя по-другому. Проблема в том, что ячейки прокручиваются мимо заголовка верхнего раздела. Превосходные заголовки разделов восходят более старыми, как и ожидалось, и заголовок загорается вместе с ячейками.
Вот несколько скриншотов, которые я надеюсь проиллюстрировать этот вопрос:
Во-первых, тот, который работает должным образом:
«А» заголовок верхней секции, и ячейки не прокручиваются мимо него.
Следующие два снимка имеют вид стола, который ведет себя странно. Я добавил некоторые стрелки, чтобы показать, что происходит:
Я сравнил параметры в Инспекторе Атрибутов, и если я не упускать из виду что-то, что они выглядят одинаково.
У кого-нибудь есть идеи?
Спасибо!
Edit:
Вот код из соответствующего UIViewController, который является делегатом и DataSource для TableView:
//
// AvsAViewController.m
// WMDGx
//
// Created by Tim Jones on 2/6/14.
// Copyright (c) 2014 TDJ. All rights reserved.
//
#import "AvsAViewController.h"
@interface AvsAViewController()
{
NSFetchedResultsController *frc;
}
@end
@implementation AvsAViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self refreshData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[frc sections] count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
id<NSFetchedResultsSectionInfo> sectionInfo = [[frc sections] objectAtIndex:section];
return [sectionInfo numberOfObjects];
}
// Customize the appearance of table view cells.
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
// Configure the cell to show the activity's name
ListActivity *thisActivity = [frc objectAtIndexPath:indexPath];
cell.textLabel.text = thisActivity.activityName;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"aVSaCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
[self configureCell:cell atIndexPath:indexPath];
cell.textLabel.textColor = [UIColor redColor];
NSAttributedString *attString;
attString = cell.textLabel.attributedText;
return cell;
}
// Section Label
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSString *sectionLabel = [[[frc sections] objectAtIndex:section]name];
return [sectionLabel uppercaseString];
}
-(void) refreshData
{
//This was the turning point for proper MR grouping. The two Properties (activityCategory and activityName) are used as Sort descriptors in the underlying core data methods
frc = [ListActivity MR_fetchAllSortedBy:@"activityCategory,activityName"
ascending:YES withPredicate:nil
groupBy:@"activityCategory"
delegate:nil];
[self.myTableView reloadData];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Проверено. Захват Clipview проверен. Я никогда не слышал о clipsToBounds и не могу найти упоминания об этом в проекте. – rattletrap99
Хм, это единственный способ воспроизвести это. Не могли бы вы добавить какой-либо код в свой пост, который касается или влияет на таблицы? (В частности, 'UITableViewDelegate' и' UITableViewDataSource' тоже, я полагаю). – drhr
Несомненно, см. Править выше. Спасибо за помощь! – rattletrap99