![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWq7JRrlWik6Sf_vJwQ1iO3BB9Dyqv_B9rdHz0DImlp5ftrpx0IY0gqGy6mbCPst35mN_-GOPKKBAf5dre86JRfEty3tp86_FVwc4K0ktcpxMDGo4Gmb_YTTcuqCd-y3vqzJStorKsra3p/s320/Screenshot_1.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYRGbG1sZjaJuHiI950H5HEdEhNYHGi9b_ovKclJ1mLEB6Ms3KJUSTWhAlq4CNVbqidnNMr12cC6kdzDcE_G96vyoo8KQWHZd9EvzYFU9OSe7ZSExL2PI3SiLTS8CaAqlxO_mwWqNof_9t/s320/Screenshot_2.png)
鏡射(Mirror)也有人稱做翻轉(Flip),可以呈現與原影像左右相反或是上相顛倒的影像,在 Core Graphic 中並沒有明確定義出翻轉或是鏡射的方法,但是我們能仍可以透過設定比例大小給予一個負數值來達到此效果,下列兩個函式就分別演示水平和垂直的翻轉效果。
- (IBAction)onFlipHorizontal:(id)sender { //水平
imageView.transform = CGAffineTransformScale(imageView.transform, 1.0, -1.0);
labelView.transform = CGAffineTransformScale(labelView.transform , 1.0, -1.0);
}
- (IBAction)onFlipVertical:(id)sender { //垂直
imageView.transform = CGAffineTransformScale(imageView.transform, -1.0, 1.0);
labelView.transform = CGAffineTransformScale(labelView.transform , -1.0, 1.0);
}
順道一題,本篇所示範的作法適用於所有 UIView 的子類別,也就是繼承 UIView 的 Subclass,當然 UILabel 也在此範圍中,上圖就是 UIImageView 與 UILabel 的鏡射效果。
沒有留言:
張貼留言