2014-02-14 3 views
0

У меня есть два вида, каждый из которых содержит табличное представление. Они одинаковы во всех отношениях, кроме высоты. Каждый из них передает данные из одного и того же объекта (в настоящее время заполненного тарабарщиной) в моем хранилище основных данных.Поведение прокрутки Strange Tableview

Один из них отлично работает при прокрутке, другой ведет себя по-другому. Проблема в том, что ячейки прокручиваются мимо заголовка верхнего раздела. Превосходные заголовки разделов восходят более старыми, как и ожидалось, и заголовок загорается вместе с ячейками.

Вот несколько скриншотов, которые я надеюсь проиллюстрировать этот вопрос:

Во-первых, тот, который работает должным образом:

enter image description here

«А» заголовок верхней секции, и ячейки не прокручиваются мимо него.

Следующие два снимка имеют вид стола, который ведет себя странно. Я добавил некоторые стрелки, чтобы показать, что происходит:

enter image description here

enter image description here

Я сравнил параметры в Инспекторе Атрибутов, и если я не упускать из виду что-то, что они выглядят одинаково.

У кого-нибудь есть идеи?

Спасибо!

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 

ответ

0

Я решил проблему, просто удалив TableView и перетащив ее в новую, проводя ее. Поэтому проблема фиксирована, но я не знаю, что ее вызвало.

Спасибо @drhr, кто прокомментировал, и все остальные, кто посмотрел!

Edit:

Просто интересно, если кто-то перебежал эту проблему. Я просто повторил это на другом столе, и мне пришлось его решить, как описано выше. FWIW, я использую Xcode 5 и разрабатываю приложение для iPhone.

Я предполагаю, что это хорошо, но было бы хорошо узнать, что вызвало проблему.

0

Убедитесь, что «Клип подвиды» выбран для этого UITableView в Property Inspector, и что таблица clipsToBounds не установлена ​​в NO где-то в коде.

+0

Проверено. Захват Clipview проверен. Я никогда не слышал о clipsToBounds и не могу найти упоминания об этом в проекте. – rattletrap99

+0

Хм, это единственный способ воспроизвести это. Не могли бы вы добавить какой-либо код в свой пост, который касается или влияет на таблицы? (В частности, 'UITableViewDelegate' и' UITableViewDataSource' тоже, я полагаю). – drhr

+0

Несомненно, см. Править выше. Спасибо за помощь! – rattletrap99

Смежные вопросы