如何在 Xamarin.iOS 中绘制圆角矩形?
Posted
技术标签:
【中文标题】如何在 Xamarin.iOS 中绘制圆角矩形?【英文标题】:How to draw a rounded rectangle in Xamarin.iOS? 【发布时间】:2017-06-10 18:43:17 【问题描述】:我想绘制一个带圆角的矩形,但我对这个平台很陌生,它与例如 WPF 或 UWP 确实不同。
我看过 Objective-C 中的示例,但我不知道如何翻译成 Xamarin.ios。
【问题讨论】:
【参考方案1】:圆角填充矩形路径:
var rectanglePath = UIBezierPath.FromRoundedRect(new CGRect(0.0f, 0.0f, 200.0f, 100.0f), 50.0f);
UIColor.Red.SetFill();
rectanglePath.Fill();
使用 ImageContext 创建 UIImage:
UIGraphics.BeginImageContext(new CGSize(200.0f, 100.0f));
var rectanglePath = UIBezierPath.FromRoundedRect(new CGRect(0.0f, 0.0f, 200.0f, 100.0f), 50.0f);
UIColor.Red.SetFill();
rectanglePath.Fill();
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
通过 UIView 子类:
public class RoundedBox : UIView
public RoundedBox()
public RoundedBox(Foundation.NSCoder coder) : base(coder)
public RoundedBox(Foundation.NSObjectFlag t) : base(t)
public RoundedBox(IntPtr handle) : base(handle)
public RoundedBox(CoreGraphics.CGRect frame) : base(frame)
public override void Draw(CGRect rect)
var rectanglePath = UIBezierPath.FromRoundedRect(rect, 50.0f);
UIColor.Red.SetFill();
rectanglePath.Fill();
【讨论】:
非常感谢!以防万一,你能看看我关于绘制文本的另一个问题吗? ***.com/questions/44400322/…以上是关于如何在 Xamarin.iOS 中绘制圆角矩形?的主要内容,如果未能解决你的问题,请参考以下文章
结构建模设计——Solidworks软件之草图绘制基础图形工具总结(绘制直线矩形圆槽圆弧圆角等)
结构建模设计——Solidworks软件之草图绘制基础图形工具总结(绘制直线矩形圆槽圆弧圆角等)
IOS用CGContextRef画各种图形(文字圆直线弧线矩形扇形椭圆三角形圆角矩形贝塞尔曲线图片)(转)