en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

5.23.2011

UIView 的水平與垂直鏡射

 

鏡射(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 的鏡射效果。






沒有留言:

張貼留言