-(void)setTopRightCornerWithRadious:(CGFloat)radious View:(UIView*)vw
{
UIGraphicsGetCurrentContext();
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:vw.bounds byRoundingCorners:UIRectCornerTopRight cornerRadii:CGSizeMake(radious, radious)];
[maskPath closePath];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = vw.bounds;
maskLayer.path = maskPath.CGPath;
vw.layer.mask=maskLayer;
if (vw.layer.borderColor) {
UIColor *color=[UIColor colorWithCGColor:vw.layer.borderColor];
[color setStroke];
maskLayer.accessibilityPath.lineWidth=1.0f;
[maskLayer.accessibilityPath stroke];
}
}
-(void)setAllBorderForView:(UIView*)vw Color:(UIColor*)color Thickness:(CGFloat)thick
{
if (vw) {
vw.layer.borderWidth=thick;
vw.layer.borderColor=color.CGColor;
}
}
邊境謹通過這兩個按鈕包圍的邊框。我用CAShapeLayer和UIBezierPath嘗試過很多次,但都失敗了,可能我錯過了一些東西。他們中的一些人使用UIView解決了這個問題,但我不想那麼做。我只想通過使用CAShapeLayer和/或UIBezierPath來解決問題。
這是我的smaple代碼......是我的錯?一開始我設置邊界,然後我試圖設置角落。幾乎沒有邊界顏色存在或可能不存在。
是dooesn't看起來像一個多邊形。你需要每個按鈕的邊框還是兩個按鈕的邊框? –
@TejaNandamuri有兩個單獨的按鈕,我想單獨放置由它們包圍的邊框,即邊框將用於每個按鈕。由於我不能提到它是正方形還是矩形,所以我將其稱爲多邊形。可能是我錯了,請糾正我。在此先感謝:) – SAM
如果你想在邊界和按鈕之間有空間,最簡單的方法是添加兩條貝塞爾路徑。其中一個用於按鈕,另一個用於邊框,您可以將按鈕添加到按鈕貝塞爾路徑。 –