1

わかりましたので、何が起こっているかの写真を追加しました。これは、問題をもう少しよく視覚化するのに役立つかもしれません.

セクションビュー

「Shopping & Deals」セクションの画像をクリックすると、アイテムまたはセルのリストがドロップダウンします。ただし、ご覧のとおり、「Shopping & Deals」画像の下にまだいくつかのセルが隠されています。コードは次のとおりです。

- (void) sectionOpened : (NSInteger) section{

    SectionInfo *array = [self.sectionInfoArray objectAtIndex:section];
    array.open = YES;

    //Google PageView tracker
    self.trackedViewName = [NSString stringWithFormat:@"Find Things To Do -- %@",array.category.name];

    //Mobile Apptracking track event
    [[MobileAppTracker sharedManager] trackActionForEventIdOrName:[NSString stringWithFormat:@"Find Things To Do -- %@",array.category.name] eventIsId:NO];

    NSInteger count = [array.category.list count];
    NSMutableArray *indexPathToInsert = [[NSMutableArray alloc] init];
    for (NSInteger i = 0; i<count;i++)
    {
        [indexPathToInsert addObject:[NSIndexPath indexPathForRow:i inSection:section]];
    }

    NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init];
    NSInteger previousOpenIndex = self.openSectionIndex;
    if (previousOpenIndex != NSNotFound)
    {
        SectionInfo *sectionArray = [self.sectionInfoArray objectAtIndex:previousOpenIndex];
        sectionArray.open = NO;
        NSInteger counts = [sectionArray.category.list count];
        [sectionArray.sectionView toggleButtonPressed:FALSE];

        for (NSInteger i = 0; i<counts; i++)
        {
            [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:i inSection:previousOpenIndex]];
        }
    }
    UITableViewRowAnimation insertAnimation;
    UITableViewRowAnimation deleteAnimation;
    if (previousOpenIndex == NSNotFound || section < previousOpenIndex)
    {
        insertAnimation = UITableViewRowAnimationTop;

        deleteAnimation = UITableViewRowAnimationBottom;
    }
    else
    {
        insertAnimation = UITableViewRowAnimationBottom;

        deleteAnimation = UITableViewRowAnimationTop;
    }


    [atableView beginUpdates];
    [atableView insertRowsAtIndexPaths:indexPathToInsert withRowAnimation:insertAnimation];
    [atableView setContentOffset:CGPointMake(0, self.view.bounds.size.height)];
    [atableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:deleteAnimation];
    [atableView endUpdates];

    self.openSectionIndex = section;


}

コードの一番下を見ると、次のようになっています。

[atableView setContentOffset:CGPointMake(0, self.view.bounds.size.height)];

これにより、y 境界に従ってビューがオフセットされます。この理由は、写真を見ると、「生産性」セクションをクリックすると、セルがビューを通過してドロップダウンし、セルが実際に入力されたかどうかがわからないため、コンテンツをオフセットするとビューがプッシュされたためです。それらの細胞が現れるように。ここでの問題は、[Shopping & Deals] をクリックすると、セルがセクションの下にハングアップすることです。誰もこれに取り組む方法について何か考えがありますか?

4

0 に答える 0