gpt4 book ai didi

ios - 更改自定义进度条的高度不起作用 Xamarin.Forms iOS

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:11:45 25 4
gpt4 key购买 nike

我尝试使用 PCL 更改 xamarin.forms 中进度条的高度。解决方案似乎是这样的:Xamarin forms increase ProgressBar height

在 android 上这工作正常,但在 iOS 上它不工作。有什么建议吗?

颜色和圆角半径的变化起作用了!

我的代码:

using ZFBookingAid.iOS;
using CoreGraphics;
using Foundation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(ProgressBar), typeof(CustomProgressBarRenderer))]
namespace ZFBookingAid.iOS
{
public class CustomProgressBarRenderer : ProgressBarRenderer
{
protected override void OnElementChanged(
ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
{
base.OnElementChanged(e);

Control.ProgressTintColor = Color.FromRgb(213, 176, 118).ToUIColor();// This changes the color of the progress


Control.TrackTintColor = Color.FromRgb(255, 255, 255).ToUIColor(); //color where is "no progress"

}



public override void LayoutSubviews()
{
base.LayoutSubviews();

var X = 0.5f;
var Y = 30.0f;

CGAffineTransform transform = CGAffineTransform.MakeScale(X, Y);
Control.Transform = transform;
this.ClipsToBounds = true;
this.Layer.MasksToBounds = true;
this.Layer.CornerRadius = 5; // This is for rounded corners.

}
}
}

最佳答案

public async override void LayoutSubviews()
{
await Task.Delay(100);
base.LayoutSubviews();
CGAffineTransform transform = CGAffineTransform.MakeScale(1.2f, 2.5f);
transform.TransformSize(this.Frame.Size);
this.Transform = transform;
this.ClipsToBounds = true;
this.Layer.MasksToBounds = true;


}

这就是我解决进度条高度问题的方法。

关于ios - 更改自定义进度条的高度不起作用 Xamarin.Forms iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43317535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com