1. 程式人生 > >iOS上生成圓角圖片

iOS上生成圓角圖片

Phone上的程式在顯示頭像之類的圖片時,基本上都是使用圓角的方式,比如TweetBot這個評價最高的Twitter客戶端。stackoverflow上也有很多關於如何實現圓角圖片的問題,實現方法有不少,不過最簡單的實現是使用CALayer

CALayer *roundedLayer = [self layer];
[roundedLayer setMasksToBounds:YES];
roundedLayer.cornerRadius = 5.0;
roundedLayer.borderColor = [[UIColor grayColor] CGColor];

其中的cell是因為圖片在UITableView中使用。但是如果要在每次想要使用圓角圖片的時候,都要寫上這麼寫程式碼的話,就不符合碼農懶的特性。既然iOS沒有提供圓角的UIImageView,那麼我們就自己來建立一個UIRoundedImageView。那麼把這段程式碼加到哪裡呢?這裡,

(void)willMoveToWindow:(UIWindow *)newWindow
{
    CALayer *roundedLayer = [self layer];
    [roundedLayer setMasksToBounds:YES];
    roundedLayer.cornerRadius = 5.0;
    roundedLayer.borderColor = [[UIColor grayColor] CGColor];
}

之後再把UIImageView控制元件的Custom Class設定為UIRoundedImageView

Screen Shot 2012 04 08 at 9 24 59 PM