[英]Custom Button frame doesn't look as good as Round Rect UIButton
我正在嘗試繪制自定義按鈕框架,如下所示:
UIBezierPath *stroke = [UIBezierPath bezierPathWithRoundedRect:self.bounds
cornerRadius:RECT_CORNECR_RADIUS];
[stroke stroke];
但是由於某種原因,拐角曲線看起來比側面更思想。 如果您查看UIButton的默認框架,它是非常統一的。 A是UIButton,B是自定義按鈕。
關於如何使它更像UIButton的任何想法。
您正在撫摸按鈕的邊界。 這會將您的線條繪制在視圖邊緣的中心,因此線條的一半厚度不在邊界范圍內,因此不會繪制。 這就是為什么它在拐角處全厚。 在邊界矩形上使用CGRectInset
(插入線的一半粗細),然后筆直對齊。
您遇到的問題可能是由於抗鋸齒。 您可以在繪制beizerPath之前嘗試更改CoreGraphics的抗鋸齒設置。
一個更簡單的解決方案是使用按鈕的CALayer
及其cornerRadius
屬性。 畫一個圓角會更容易
如果self
是您的自定義按鈕:
self.layer.cornerRadius = RECT_CORNER_RADIUS;
self.layer.borderWidth = 1.0f;
self.layer.borderColor = [UIColor blackColor].CGColor;
當然,不要忘記導入QuartzCore框架並導入其標頭以使其正常工作 (#import)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.