0
我試圖繞過uiimageview的頂部兩個角落,但下面的代碼不顯示只有正常圖像的圓角。我錯過了什麼嗎? THXUIimageView圓角頂部BezierPath不起作用?
UIImageView * imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 328)];
imgView.backgroundColor = [UIColor clearColor];
imgView.contentMode = UIViewContentModeScaleAspectFill;
imgView.image = image;
CAShapeLayer * shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 320, 328) byRoundingCorners:2 cornerRadii:CGSizeMake(20.0, 20.0)].CGPath;
shapeLayer.frame = CGRectMake(0, 0, 320, 328);
self.profilePictureView.layer.mask = shapeLayer.mask;
self.profilePictureView.layer.masksToBounds = YES;
[cell.contentView addSubview:self.profilePictureView];
cell.contentView.backgroundColor = [UIColor clearColor];
謝謝!我會馬上嘗試,我會告訴你它是否有效 –
它完美的作品,謝謝。不幸的是,圖片太大,桌面視圖滾動凍結太多了......我想我需要重新繪製上下文中的圖片......但是,謝謝!我認爲line line shapelayer.frame = imgView.layer !!!。bounds –
這可以工作,但要小心 - mask和masksToBounds可能會導致性能下降,因此請確保您沒有大視圖或許多視圖。 – jjxtra