怎样动态修改scrollview中的content的高度?

场景中有个scrollview,里边是一个label,label的内容很长,会产生滚动条滚动。点击不同的按钮时,会切换label的内容导致label的高度也变化了。此时最好content的高度也随之变化。
我现在的做法是,将content的高度设置了非常大,最长的label也能完全显示。但是对于一些短的label,下边会出现一大片空白,半天滑不到底部。
我尝试的代码是这样:
var label_info=this.node.parent.getChildByName(“scrollview_info”).getChildByName(“view”).getChildByName(“content”).getChildByName(“label_info”).getComponent(cc.Label);
var thatnode=this;
this.node.on(‘touchend’, function ( event ) {
console.log(“dddd”);
var label_state=this.getChildByName(“label_state”).getComponent(cc.Label).string;
label_info.string=label_state;
var content=thatnode.node.parent.getChildByName(“scrollview_info”).getChildByName(“view”).getChildByName(“content”);

content.node.height=50;

});

问题一:代码中最后一句报错。应该怎么写呢?怎么修改height?
问题二:每次点击按钮的时候,最好将滚动条滚动到最顶部,这个怎么实现?

1赞

用 cc.Layout,可以看看官方范例

content上挂Layout组件,设置一下content的中心点,每次点击按钮后,代码手动设置一下content.y=你要重置的位置