我想設置頂部/底部左側角落的UIButton的半徑。我怎樣才能做到這一點?設置UIButton的TopLeft&bottomLeft半徑| iOS的
如果我使用button.layer.cornerRadius
,它會設置所有的角落。
我使用UIBazierPath嘗試,但可能是我做錯了什麼和按鈕顯示不正確。我使用的代碼是:
let path = UIBezierPath(roundedRect: button.bounds, byRoundingCorners: [.TopLeft, .BottomLeft], cornerRadii: CGSize(width: 3.0, height: 3.0))
let mask = CAShapeLayer()
mask.path = path.CGPath
button.layer.mask = mask
我試着從計算器即this的答案,但它不是爲我工作。它更新了角落,但也減少了按鈕的高度。我認爲我在框架/邊界上做錯了什麼。
使用上面的代碼中,UIButton的顯示爲:
我使用的另一種解決方案是具有圓角的使用的圖像。但現在我想以編程方式執行此操作。
謝謝。
-(void)setMaskTo:(UIView*)view byRoundingCorners:(UIRectCorner)corners
{
UIBezierPath* rounded = [UIBezierPath bezierPathWithRoundedRect:view.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(8.0, 8.0)];
CAShapeLayer* shape = [[CAShapeLayer alloc] init];
[shape setPath:rounded.CGPath];
view.layer.mask = shape;
}
調用上面的方法是這樣的::
[self setMaskTo:self.myButton byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerTopLeft];
什麼上面的代碼的結果呢? –
我已更新問題@ Mr.T –
按鈕的角落似乎是圓形的。那麼問題是什麼? –