您好,登錄后才能下訂單哦!
我現在有一個場景,使用UI編輯器創建而成,其中包含三個UIScrollView控件。第一個UIScrollView控件中包含大約12個子控件 UIImageView,第二個UIScrollView控件中包含大約16個子控件UIImageView,第三個UIScrollView控件中包含 大約32個子控件UIImageView。上述每一個UIScrollView控件內部的子控件UIImageView根據需要進行覆蓋顯示。對于前面兩 個內容較少的UIScrollView控件,操作正常。對于第三個UIScrollView控件則顯示不正常。我左右拖動其中的子控件時出現顯示亂套現 象。例如,我使用如下代碼:
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控件的外面(上面),是不是?
最好就是“框”是個p_w_picpathview 圖片是個p_w_picpathview 兩個p_w_picpathview添加到一個panel中 框先設置為不可見 把這個panel當作scrollview中的單元子幾點放到scrollview中
點擊圖片的時候把框顯示出來。
或者,您是不是說,只要不修改內部控件的位置,把其中IMAGE控件的某些其他屬性修改一個(目的是為了顯式指出玩家選擇的是它),這樣是可以的?
是的 除了位置屬性 其他所有屬性都可以設置 visible scale rotation等
非常感謝!我試試!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。