ScrollView设置初始位置和子控件的位置

Hi All,
请教下各位ScrollView的问题。
我在UI编辑器做了个ScrollView,名叫sv,sv里面有个子控件a,然后我在CCLayer的
init和onEnter里面都试过添加以下代码:

sv->jumpToBottom(); //在onEnter里面可以生效
sv->jumpToPercentVertical(0.5f); //不生效
sv->scrollToBottom(0.1f, false); //生效!!

sv->scrollToPercentVertical(0.1f, 2.0f, false); //不生效
a->setPosition(ccp(320, 600)); //不生效

然后我试了加了个按钮,捕抓按钮事件,按下按钮后,再做以上几步,就都可以生效了。

所以现在很困惑,我想初始化场景的时候就把ScrollView设置好位置,还有里面子控件的位置,应该怎么做?试了很久都没有结果。
我的版本是cocostudio 1.4.01,cocos2dx2.2.3

非常感谢!

最新进展:
我发现初始化调整scrollview,需要在onEnter里面做,init里面不会生效

然后ScrollView里面的子控件无法在初始化的时候设置位移不生效,我发现是因为ScrollView是相对布局造成的,如果换成绝对布局就正常了。这是不是个bug呢?
我现在的做法是:
void Helloworld::onEnter()
{
CCLayer::onEnter();
scheduleOnce(schedule_selector(Helloworld::onUpdateInit), 0.01f);
}

//然后onUpdateInit里面再去设置scrollview中子空间的位置,这种方法非常非常的土鳖啊~~~~
void Helloworld::onUpdateInit( float dt )
{
UIImageView *imageView = (UIImageView *) m_uiLayer->getWidgetByName(“Image_a”);
imageView-setPosition(ccp(300, 300));
}

所以现在的问题是,ScrollView如果是相对布局,里面子控件的位置如何在初始化的时候设置呢?

我试了下TestCpp里面的例子,也是不行啊。
TestCpp\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.cpp里面的init里,

  •    scrollView->addChild(imageView);        
    
    
      scrollView->jumpToBottom();
      return true;
    

    }

    return false;
    }*

增加了高亮那一行,也是一样不起作用。ScrollView的初始位置究竟应该如何设置啊?请教各位大神!

jumpToPercentVertical 基数是100

确实如此,谢谢!

然后我发现初始化调整scrollview,需要在onEnter里面做,init里面不会生效

然后ScrollView里面的子控件无法在初始化的时候设置位移,我发现是因为ScrollView是相对布局造成的,如果换成绝对布局就正常了。

所以现在的问题是,ScrollView如果是相对布局,里面子控件的位置如何在初始化的时候设置呢?谢谢!

这个问题之前也是困扰我很久的,就是因为 相对布局引起的,因为在onEnter的时候会进行相对布局的调整。我是写到了onEnter之后进行处理的。我想起来关键语句 是 要把 他的 布局方式 的字典 也得一起设置过去。

能说下你是怎么设置的吗?没听懂你说的意思。

我现在用了个很土的方法,在init的时候做个定时器
scheduleOnce(schedule_selector(HelloWorld::onUpdateInit), 0.01f);

然后在onUpdateInit里面设置子控件的位置,这样就都没问题

我再顶,难道这个问题其它人没遇到吗?

用带scroll开头的方法

我顶,我顶,为什么资源这么少!

    self.heroGrid:forceDoLayout()
    self.heroGrid:scrollToPercentHorizontal(100,1.0f,true)
    --self.heroGrid:jumpToPercentHorizontal(100)

我把这段代码添加在scrollview数据加载完成之后,发现可以滚动.但是jumpToPercentHorizontal(100)却无效果