【问题标题】:How to set Dashed border color in xamarin forms Frame in iOS?如何在 iOS 中的 xamarin 窗体框架中设置虚线边框颜色?
【发布时间】:2018-12-10 06:20:28
【问题描述】:

我在 Xamarin.Forms for iOS 中做一个应用程序。我需要设计如下所示的图像。

为了实现这个设计,我使用了一个框架并为其添加了边框颜色。但我无法获得上图中指定的虚线边框。我正在尝试通过自定义渲染器来实现这一点。谁能帮助我或指导我获得图像中的确切设计。

这对我很有帮助。在此先感谢。

【问题讨论】:

  • 这是iOS版本,可以尝试转换成xamarin stackoverflow.com/questions/13679923/…
  • 非常感谢您的快速回复。我会尽力让您知道。
  • Imo 最好的方法就是只显示这张图片。为您节省大量时间,并且在任何操作系统上看起来都一样。
  • 感谢丹尼斯的回复。我们希望 iPhone 和 iPad 的设计相同。如果我们使用图像,它会在 iPad 中被拉伸。
  • 您可以使用 SkiaSharp 在控件周围绘制点和破折号。

标签: ios xamarin xamarin.forms xamarin.ios


【解决方案1】:

您可以扩展 Frame Renderer 并添加虚线图案

public class CustomFrame : FrameRenderer
{
    public override void LayoutSubviews()
    {
        base.LayoutSubviews();

        CAShapeLayer viewBorder = new CAShapeLayer();
        viewBorder.StrokeColor = UIColor.Red.CGColor;
        viewBorder.FillColor = null;
        viewBorder.LineDashPattern = new NSNumber[] { new NSNumber(5), new NSNumber(2) };
        viewBorder.Frame = NativeView.Bounds;
        viewBorder.Path = UIBezierPath.FromRect(NativeView.Bounds).CGPath;
        Layer.AddSublayer(viewBorder);

        // If you don't want the shadow effect
        Element.HasShadow = false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2021-05-01
    • 1970-01-01
    相关资源
    最近更新 更多