我想画一个带圆角的矩形,但我对这个平台很陌生,它与 WPF 或 UWP 等真的不同。

我在 Objective-C 中看到过示例,但我不知道如何转换为 Xamarin.iOS。

最佳答案

圆角填充矩形路径:

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();
    }
}

关于c# - 如何在 Xamarin.iOS 中绘制圆角矩形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44476857/

10-13 08:24