UGUI 修改元件節點位置

2021-08-09 21:54:15 字數 1015 閱讀 1935

最近的工作任務是實現模態對話方塊,模態對話方塊彈出後要顯示在最前面,為了實現這個效果,我從網上找到了解決辦法:通過setsiblingindex 和 getsiblingindex設定與獲取 gameobject在兄弟節點中的位置。

我覺得getsiblingindex返回就是兄弟節點對應的編號,這個編號從0開始,只要修改這個編號就可以改變這個節點在所有兄弟節點中的位置。

假設a節點為當前節點gameobject,b節點為m_sibling

gameobject.transform.setsiblingindex(m_sibling.transform.getsiblingindex());
得到的結果是原來b的位置變成a,b緊挨著a,在a下面。

如果想交換a和b的位置,可以先儲存它們的位置:

int aindex = gameobject.transform.getsiblingindex(); 

int bindex = m_sibling.transform.getsiblingindex();  

gameobject.transform.setsiblingindex(bindex); 

m_sibling.transform.setsiblingindex(aindex);

如果想實現模態對話方塊顯示在最前面的效果,可以這樣做:

gameobject.transform.setsiblingindex(gameobject.transform.parent.childcount - 1);
首先得到當前節點的所有兄弟節點(包括自己)個數gameobject.transform.parent.childcount,因為編號從0開始,所以還要減1(經過測試,其實不減1也可以,暫時沒有發現問題),設定為它的位置。

補充:實現顯示在最前,還可以用現成的方法setaslastsibling與我上面的效果一樣。

相應的還有乙個setasfirstsibling方法,是設定成第乙個,也就是顯示在最後面。

Ant Design Vue 修改元件樣式

專案中要求使用ant design vue作為第三方ui框架,但是設計圖上的要求與ui框架官網的有細微的差別,需要手動修改,當時我的想法就是先f12開啟控制器自己先修改樣式,改好以後連樣式名和樣式一起複製到上直接加上就好了,但並沒有成功,現在提出我找到的解決方法 第一種就是檢視文件上面是否提供了可供...

vue修改元件樣式

vue可以使用多個style,可以第乙個設定scoped,第二個設定想要修改的第三方元件的樣式,每個vue檔案設定不同.container class名,然後包裹修改的第三方ui元件樣式。當我們希望scoped樣式中的乙個選擇器能夠作用得 更深 子元件也可以用scoped中的樣式 例如影響子元件,你...

ElementUI 修改元件預設屬性

專案引入element ui後,有時需要對元件的屬性進行全域性修改。比如input預設不開啟清空按鈕,我們需要讓他變成預設開啟,不然還需要乙個個的手動修改。import vue from vue import elementui from element ui 修改input元件預設有清空按鈕 el...