本文實(shí)例為大家分享了iOS實(shí)現(xiàn)圖片折疊效果的具體代碼,供大家參考,具體內(nèi)容如下
一、分析與說明
1.1 分析界 效果
當(dāng)鼠標(biāo)在圖片上拖動的時(shí)候,圖片上有一個(gè)折疊的效果.
這種折疊效果其實(shí)就是圖片的上半部分繞著X軸做一個(gè)旋轉(zhuǎn)的操作.
我們圖片的旋轉(zhuǎn)都是繞著錨點(diǎn)進(jìn) 旋轉(zhuǎn)的.所以如果是一張圖片的,辦不到只上圖 的上半部 分進(jìn) 個(gè)旋轉(zhuǎn).
其實(shí)是兩張圖片, 把兩張圖片合成一張圖片的方法,
實(shí)現(xiàn)方案.弄上下兩張圖 ,上部圖片只顯示上半部分, 下部圖片只顯示下半部分.
1.2 如果讓 張圖 只顯 上半部分或者下半部分?
利用 CALayer的一個(gè)屬性contentsRect = CGRectMake(0, 0, 1, 0.5);
contentsRect就是要顯示的范圍.它是取值范圍是(0~1);
想讓上部圖片只顯示上半部分contentsRect設(shè)置CGRectMake(0, 0, 1, 0.5); 讓下部圖片只顯示下半部分contentsRect設(shè)置為CGRectMake(0, 0.5, 1, 0.5)
1.3 讓上部圖 繞著錨點(diǎn)進(jìn) 旋轉(zhuǎn),但是圖 的默認(rèn)錨點(diǎn)在中 ,所以要把上部圖 的錨點(diǎn)設(shè)在 最底部.
修改上部分的錨點(diǎn)為anchorPoint = CGPointMake(0.5, 1)
但是修過錨點(diǎn)之后, 會出現(xiàn)一個(gè)問題,就是上部分的圖片,會往上走.導(dǎo)致兩個(gè)圖片中間有一個(gè)空隙.
解決辦法為*.把兩張圖片放到一起.設(shè)置上部分圖片的錨點(diǎn)后.上部分圖 會上走一半的距離.
然后再設(shè)置下部圖片的錨點(diǎn).設(shè)置下部圖 錨點(diǎn)值為anchorPoint = CGPointMake(0.5, 0);
這樣就能夠辦到兩張圖片合成一張的效果.
1.4 添加一個(gè)添加手勢的view(Drag View)
弄一個(gè)和圖片V相同的View,把手勢添加給這個(gè)UIView.
添加完手勢時(shí), 在手勢方法當(dāng)中去旋轉(zhuǎn)上部分圖片.
用
主站蜘蛛池模板:
新宁县|
古丈县|
太保市|
浠水县|
仪征市|
石泉县|
翁源县|
资中县|
绥棱县|
岑巩县|
嵊州市|
罗定市|
阿克陶县|
宿迁市|
剑河县|
博野县|
巴青县|
合作市|
上思县|
井研县|
洞口县|
兴和县|
宁河县|
泽普县|
左贡县|
大邑县|
金昌市|
临猗县|
长子县|
新源县|
漯河市|
汤阴县|
郴州市|
长兴县|
信阳市|
岱山县|
普宁市|
屏山县|
昭苏县|
茂名市|
中卫市|