cocostudio學習之有關UIScrollView控件的一個問題

我如今有一個場景,使用UI編輯器建立而成,其中包含三個UIScrollView控件。第一個UIScrollView控件中包含大約12個子控件 UIImageView,第二個UIScrollView控件中包含大約16個子控件UIImageView,第三個UIScrollView控件中包含 大約32個子控件UIImageView。上述每個UIScrollView控件內部的子控件UIImageView根據須要進行覆蓋顯示。對於前面兩 個內容較少的UIScrollView控件,操做正常。對於第三個UIScrollView控件則顯示不正常。我左右拖動其中的子控件時出現顯示亂套現 象。例如,我使用以下代碼:php

  UIImageView* currentDesk = dynamic_cast<UIImageView*>(pObject);
    UIScrollView* scroll_3 = dynamic_cast<UIScrollView*>(currentDesk->getWidgetParent());
    UIImageView* desk_mask = dynamic_cast<UIImageView*>(scroll_3->getChildByName("desk_mask"));
    CCPoint pos=currentDesk->getPosition();
    desk_mask->setPosition(pos);

實現:當點擊其中某一幅圖片時,有一個已經添加到上述UIImageView控件中的方框圖片控件(其默認位置置於第一個圖片之上)會置於其上,以顯示用戶當前選擇的是這一幅圖片。
我感受上述思路沒有什麼不正常的。另外,在圖片相應的點擊事件中,除了顯示上述方框圖片控件外還有其餘的代碼須要執行(暫時被我屏蔽了)。
執行上述代碼,對於兩個內容少的UIScrollView控件一切正常,但對於最後一個內容較多的UIScrollView控件,即顯示亂套矣!

對於問題http://bbs.cocostudio.org/forum. ... 6509&extra=page%3D1,彷佛pipu先生也沒有給予更多更細緻的解釋。

特別請教上述問題,謝謝了。

回答:

問題是這樣的 目前scrollview有個缺陷 若是是子控件添加進scrollview後 又對子控件的position進行了操做 就會致使scrollview滾動不正常問題,由於scrollview在addchild時會根據子節點的位置信息作一些scrollview屬性的處理,這個問題後面會優化 目前的使用方式建議是在scrollview addchild以前設置好子節點的位置 add完畢後就不要對子節點的位置進行操做了。
謝謝!可是,個人scrollview中有N幅圖片,想實現玩家點擊一幅圖片時,上面蓋一個「框」,那麼這個框對應的p_w_picpath控件目前只好先放到整個scrollview控件的外面(上面),是否是?
java


最好就是「框」是個p_w_picpathview 圖片是個p_w_picpathview 兩個p_w_picpathview添加到一個panel中 框先設置爲不可見 把這個panel看成scrollview中的單元子幾點放到scrollview中
點擊圖片的時候把框顯示出來。

或者,您是否是說,只要不修改內部控件的位置,把其中IMAGE控件的某些其餘屬性修改一個(目的是爲了顯式指出玩家選擇的是它),這樣是能夠的?


編輯器


是的 除了位置屬性 其餘全部屬性均可以設置 visible scale rotation等

很是感謝!我試試!ide

相關文章
相關標籤/搜索