【发布时间】:2018-07-20 02:15:57
【问题描述】:
我使用Drawable 自定义Android 中ProgressBar 的呈现,如this question 的回答,但该解决方案不适用于iOS。
下面是我的iOSCustomRenderer的代码
[assembly: ExportRenderer(typeof(CustomProgressbar), typeof(CustomProgressBarRenderer))]
namespace Demo.iOS.Renderers
{
public class CustomProgressBarRenderer : ProgressBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<ProgressBar> e)
{
try
{
base.OnElementChanged(e);
if (Control != null)
{
Control.ProgressTintColor = Color.FromHex("#ff0000").ToUIColor();
Control.TrackTintColor = Color.FromHex("#3489cc").ToUIColor();
}
}
catch (Exception ex)
{
}
}
public override void LayoutSubviews()
{
base.LayoutSubviews();
var X = 1.0f;
var Y = 15.0f;
CGAffineTransform _transform = CGAffineTransform.MakeScale(X, Y);
this.Transform = _transform;
this.ClipsToBounds = true;
this.Layer.MasksToBounds = true;
this.Layer.CornerRadius = 5;
}
}
}
我该如何做到这一点?
【问题讨论】:
-
Xamarin.Forms 是跨平台的,适用于 Android 的也应该适用于 iOS。到目前为止,您尝试了什么,遇到了什么错误?
-
你引用的问题说:> 我可以在 iOS 中使用自定义渲染器来做到这一点
-
@MuhammadKhan 是的,我遵循了问题中提到的代码,但它与输出不匹配。让我添加一张来自
iOS的截图。 -
@MuhammadKhan 请查看编辑
-
嗨@LibinTK,你的问题解决了吗?
标签: c# ios xamarin xamarin.forms