今天在學習別人寫的代碼時, 發(fā)現(xiàn)用到UIView的ClipToBounds屬性, 感覺挺有用的, 總結(jié)到這里..
ClipToBounds決定了UIView的子視圖顯示范圍:
YES: 子視圖在UIView bounds外面的部分將不現(xiàn)實;
NO: 子視圖在UIViewBounds外面的部分依舊現(xiàn)實;
默認值為NO,不被裁減;
其中ScrollView以及其子類默認為YES;
YES的情況
NO的情況
實際會用到的情況:
- 在處理某些類似“進度條”的動效有奇效.
了解到這個屬性后,第一個聯(lián)想到unity在做游戲的時候進度條的動畫,從左到右的改變frame來實現(xiàn)進度條顯示的效果很容易....
也能當作Unity里的“遮罩Mask”來處理游戲里的類似操作...
最主要的是...聯(lián)想到...在我剛接觸到iOS做項目時,被要求做的一個動畫特效....一直想找到原生的進度特效但是無果....最后還是讓UI幫我做了一組圖來做的動畫... 其實如果當時了解這個屬性...很簡單就可以做出來.
具體是一個這樣的效果,,一個打叉叉的特效...(用ClipToBounds兩張圖就解決掉事情,,,當時做了20多張圖....基礎(chǔ)功多么重要啊....水平還是太低了...)
栗子
2.打分標星也可以用這個屬性??
思路: 添加一個灰色的底層UIImageView, 在其上覆蓋一個透明的ClipToBounds為YES的UIView, 在其上添加一個黃色的星圖案.. 五個星星是同樣的方法...很簡單就可以實現(xiàn)小數(shù)標星的特效..
打分效果