View和Event位置的改變方法

2021-07-28 14:19:03 字數 1342 閱讀 3977

view的方法介紹:

getleft:相對于父布局,該view距離父布局 左邊緣 的距離(px);

gettop:相對于父布局,該view距離父布局 上邊緣 的距離(px);

getright:相對于父布局,該view距離父布右邊緣的距離(px);

getbottom:相對于父布局,該view距離父布局下邊緣的距離(px);

gettranslationx:相對於自身初始位置,該view通過settranslationx方法被水平移動的距離;

gettranslationy:相對於自身初始位置,該view通過settransitiony方法被垂直移動的距離;

getx:相對于父布局,該view的getleft距離 + 該view的gettranslationx距離;

gety:相對于父布局,該view的gettop距離 + 該view的gettranslationy距離;

settranslationx:相對於自身初始位置,該view水平方向移動相應距離;

settranslationy:相對於自身初始位置,該view垂直方向移動相應距離;

setx(distance):相對于父布局,該view水平方向移動 distance - mleft 距離,所以distance是相對于父布局左邊緣的距離。

sety(distance):相對于父布局,該view垂直方向移動 distance -mtop 距離,所以distance是相對于父布局上邊緣的距離。

注:view的setx、sety、getx、gety 慎用!他們內部的計算邏輯容易影響整體計算。用settranslation、gettranslation取代,因為這兩套方法是相對於自身初始位置的,不受padding和margin影響。

另,offsettopandbottom和offsetleftandright直接改的是mleft、mtop、mright、mbottom值,所以呼叫getleft、gettop、getright、getbottom方法其值會變。同樣慎用。

event的方法介紹:

getx:如果觸擊到該view區域內,則表示,相對於該view,觸擊點距離該view的 左邊緣的距離(px)

如果觸擊到該view區域外,則表示,相對於該整個螢幕,觸擊點距離整個螢幕的 左邊緣的距離(px)

gety:如果觸擊到該view區域內,則表示,相對於該view,觸擊點距離該view的 上邊緣的距離(px)

如果觸擊到該view區域外,則表示,相對於該整個螢幕,觸擊點距離整個螢幕的 上邊緣的距離(px)

getrawx:相對於該整個螢幕,觸擊點距離整個螢幕的 左邊緣的距離(px);

getrawy:相對於該整個螢幕,觸擊點距離整個螢幕的 上邊緣的距離(px);

View 的位置引數

view 的位置主要由它的四個頂點來決定,分別對應於view的四個屬性 top left right bottom,其中top是左上角縱座標,left是左上角橫座標,right是右下角橫座標,bottom是右下角縱座標。需要注意的是,這些座標都是相對於view的父容器來說的,因此它是一種相對座標,v...

View的位置引數

view的位置主要由它的四個頂點來決定,分別對應於view的四個屬性 top left right bottom。需要注意的是,這些座標都是相對於view的父控制項來說的,因此它是一種相對座標。上圖很清楚的展示了view的位置座標和父容器的關係,motionevent獲取位置與view提供的方法的關...

view的大小,位置

下面有幾個比較重要的關於view的大小以及位置的屬性 uiscreen.mainscreen.bounds 不包括狀態列的大小 由於狀態列高度為20,所以height也就比bounds小20了 當狀態列隱藏時,也就跟bounds一樣了。uiview的大小與位置,大小有本uiview.bounds.s...