UIView中的transform屬性

2021-08-04 17:37:32 字數 3022 閱讀 8220

struct

cgaffinetransform ;

該屬性是乙個結構體

/* the identity transform: [ 1 0 0 1 0 0 ]. */

蘋果給它定義了乙個原有的位置:如view.transform = 

cgaffinetransformidentity 就表示view回到變化之前的原有樣子

cg_extern

const

cgaffinetransform cgaffinetransformidentity

/* return the transform [ a b c d tx ty ]. */

返回乙個新位置的view

cg_extern cgaffinetransform cgaffinetransformmake(cgfloat a, cgfloat b,

cgfloat c, cgfloat d, cgfloat tx, cgfloat ty)

/* return a transform which translates by `(tx, ty)':

t' = [ 1 0 0 1 tx ty ] */

相對於本身的view檢視,會沿著x,y軸平移多遠的距離

cg_extern cgaffinetransform cgaffinetransformmaketranslation(cgfloat tx,

cgfloat ty) 

/* return a transform which scales by `(sx, sy)':

t' = [ sx 0 0 sy 0 0 ] */

相對於本身的view檢視,會沿著x,y軸縮放多大的倍數

cg_extern cgaffinetransform cgaffinetransformmakescale(cgfloat sx, cgfloat sy)

/* return a transform which rotates by `angle' radians:

t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] */

相對於本身的view檢視,會旋轉多少角度

cg_extern cgaffinetransform cgaffinetransformmakerotation(cgfloat angle)

/* return true if `t' is the identity transform, false otherwise. */

返回的是否是transform屬性檢測

cg_extern

bool

cgaffinetransformisidentity(cgaffinetransform t)

/* translate `t' by `(tx, ty)' and return the result:

t' = [ 1 0 0 1 tx ty ] * t */

相對於其他的view,會沿著x,y平移多遠的距離

cg_extern cgaffinetransform cgaffinetransformtranslate(cgaffinetransform t,

cgfloat tx, cgfloat ty) 

/* scale `t' by `(sx, sy)' and return the result:

t' = [ sx 0 0 sy 0 0 ] * t */

相對於其他的view,會沿著x,y軸縮放多大的倍數

cg_extern cgaffinetransform cgaffinetransformscale(cgaffinetransform t,

cgfloat sx, cgfloat sy)

/* rotate `t' by `angle' radians and return the result:

t' =  [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] * t */

相對於其他的view,會旋轉多少角度

cg_extern cgaffinetransform cgaffinetransformrotate(cgaffinetransform t,

cgfloat angle) 

/* invert `t' and return the result. if `t' has zero determinant, then `t'

is returned unchanged. */

cg_extern cgaffinetransform cgaffinetransforminvert(cgaffinetransform t)

/* concatenate `t2' to `t1' and return the result:

t' = t1 * t2 */

兩個新的view檢視融合成乙個檢視

cg_extern cgaffinetransform cgaffinetransformconcat(cgaffinetransform t1,

cgaffinetransform t2) 

/* return true if `t1' and `t2' are equal, false otherwise. */

是個檢視是否一樣

cg_extern

bool

cgaffinetransformequaltotransform(cgaffinetransform t1,

cgaffinetransform t2) 

/* transform `point' by `t' and return the result:

p' = p * t

where p = [ x y 1 ]. */

得到新的乙個point點

cgaffinetransform t) 

/* transform `size' by `t' and return the result:

s' = s * t

where s = [ width height 0 ]. */

得到乙個新的size

iOS中的UIView動畫

1.uikit直接將動畫整合到uiview類中,當內部的一些屬性發生改變 時,uiview將為這些改變提供動畫支援 2.執行動畫所需要的工作由uiview類自動完成,但仍要在希望執行動畫時通知檢視,為此需要將改變屬性的 放在 uiview beginanimations nil context ni...

UIView中的座標轉換

今天使用cgrectcontainsrect方法時,出現了一些問題,現在總結一下 首先了解一下一些基本的方法 cgrectcontainsrect cgrect rect1,cgrect rect2 判斷rect1是否包含rect2 cgrectcontainspoint cgrect rect,c...

UIView中的座標轉換

將畫素point由point所在檢視轉換到目標檢視view中,返回在目標檢視view中的畫素值 cgpoint convertpoint cgpoint point toview uiview view 將畫素point從view中轉換到當前檢視中,返回在當前檢視中的畫素值 cgpoint conv...