本文實(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)上部分圖片.
用
主站蜘蛛池模板:
汉中市|
如东县|
宽城|
宁明县|
嘉义县|
大石桥市|
杂多县|
鹿邑县|
闵行区|
枞阳县|
鹿泉市|
长武县|
宁都县|
广河县|
化隆|
龙胜|
镇远县|
沾益县|
双桥区|
兖州市|
寻乌县|
城市|
井冈山市|
吉林市|
县级市|
菏泽市|
泸定县|
古交市|
临泉县|
武山县|
舒城县|
黄骅市|
樟树市|
含山县|
皮山县|
梨树县|
涟水县|
隆子县|
乌海市|
谷城县|
措美县|