OStack程序员社区-中国程序员成长平台

标题: ios - Cocos2D v3 CCTableView 不滚动 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:43
标题: ios - Cocos2D v3 CCTableView 不滚动

我正在尝试在我的游戏中使用 CCTableView。您应该能够滚动浏览名称列表。我可以单击一个单元格并记录单击了哪个单元格。但是,当我尝试滚动时,没有任何 Action 。

@interface WSMPlayerCandidateSubMenu(){

CCNodeColor *_candidateSubMenuSprite;

}

@implementation WSMPlayerCandidateSubMenu


- (void)onEnter{
    [super onEnter];

    CGSize winSize = [[CCDirector sharedDirector] viewSize];

    _candidateSubMenuSprite.color = [CCColor whiteColor];

    _candidateSubMenuSprite.userInteractionEnabled = NO;
    self.candidateArray = [[WSMGameManager sharedManager] returnCompany].candidates;


    CCTableView *tblScores = [CCTableView node];
    tblScores.contentSize = CGSizeMake(1.0,0.8);
    tblScores.anchorPoint = ccp(0.5f,0.375f);
    tblScores.positionType = CCPositionTypeNormalized;
    tblScores.position = _candidateSubMenuSprite.position;
    tblScores.userInteractionEnabled = YES;
    tblScores.dataSource = self;
    tblScores.verticalScrollEnabled = YES;
    tblScores.block = ^(CCTableView *table){
        NSLog(@"Cell %ld", (long)table.selectedRow);
    };
    [_candidateSubMenuSprite addChild:tblScores];    
}


-(CCTableViewCell*)tableViewCCTableView *)tableView nodeForRowAtIndexNSUInteger)index{

    CCTableViewCell* cell = [CCTableViewCell node];

    cell.contentSizeType = CCSizeTypeMake(CCSizeUnitNormalized, CCSizeUnitPoints);
    cell.contentSize = CGSizeMake(1, 40);

    // Color every other row differently
    CCNodeColor* bg = [CCNodeColor nodeWithColor:[CCColor colorWithRed:52/255.f green:73/255.f blue:94/255.f]];
    bg.userInteractionEnabled = NO;
    bg.contentSizeType = CCSizeTypeNormalized;
    bg.contentSize = CGSizeMake(1, 1);
    [cell addChild:bg];

    WSMEmployee *candidate = (WSMEmployee*)[self.candidateArray objectAtIndex:index];
    CCLabelTTF *lblCompanyName = [CCLabelTTF labelWithString:candidate.name fontName"ArialMT" fontSize:15.0f];
    lblCompanyName.anchorPoint = ccp(1,0.5);

    //lblTurnsSurvived.string = @"1000";

    lblCompanyName.positionType = CCPositionTypeNormalized;
    lblCompanyName.position = ccp(0.15,0.5);

    lblCompanyName.color = [CCColor colorWithRed:242/255.f green:195/255.f blue:17/255.f];

    [cell addChild:lblCompanyName];

    return cell;

}

-(NSUInteger)tableViewNumberOfRowsCCTableView *)tableView{

    return [self.candidateArray count];

}

-(float)tableViewCCTableView *)tableView heightForRowAtIndexNSUInteger)index{

    return 40.f;

}



Best Answer-推荐答案


您需要在您的 CCTableView 实例上将 multipleTouchEnabled 设置为 YES。我有同样的问题,这对我有用。

关于ios - Cocos2D v3 CCTableView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30633875/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4