uiedgeinsets stretchinsets = uiedgeinsetsmake(32, 40, 10, 40);
uiimage* backimage = isoutgoing ? [uiimage imagenamed:@"bubble_right.png"] : [uiimage imagenamed:@"bubble_left.png"];
backimage = [backimage resizableimagewithcapinsets:stretchinsets resizingmode:uiimageresizingmodestretch];
//設定的 mask layer
calayer* layer = [calayer new];
layer.contents = (__bridge id _nullable)(backimage.cgimage);
cgrect r = [self cgrectcenterrectforresizableimage:backimage];
layer.contentscenter = r;
layer.frame = cgrectmake(0, 0, fixsize.width, fixsize.height);
layer.contentsscale = [uiscreen mainscreen].scale
; layer.opacity = 1
; imageview.layer
.mask = layer;
imageview.layer
.maskstobounds = yes;
這裡通過設定 uiimageview的 layer.mask 來設定約束,這裡通過一張,去的邊緣部分組成乙個path,path以內的部分將會顯示出來,path以外的部分將不會顯示,backimage 決定了path的形狀!
當然了這裡還可以設定其它的layer作為uiview的mask。
附這裡用到的另外乙個方法:
- (cgrect) cgrectcenterrectforresizableimage:(uiimage *) image
UIView 設定圓角
直接看 viewt.layer.cornerradius 10 設定那個圓角的有多圓 viewt.layer.borderwidth 10 設定邊框的寬度,當然可以不要 viewt.layer.bordercolor uicolor redcolor cgcolor 設定邊框的顏色 viewt.la...
UIView設定圓角
為uiview設定圓角是實際開發中常需要處理的問題,就uiview而言相關的api沒有找到直接設定的方法 不過uiview是對calayer的封裝,設定calayer圓角則可以出來相應的效果。下面介紹幾種設定圓角的方法 1 為uiview的所有角都設定圓角 calayer layer view la...
UIView的layer層的設定
void viewdidload nslog anchorpoint nsstringfromcgpoint view.layer anchorpoint anchorpoint position 是某點基於父檢視原點的座標 相當於 view 的center nslog position nsstr...