2017-04-10 33 views
2

PCLを使用してxamarin.formsのプログレスバーの高さを変更しようとしました。 解決方法は次のように見えます。Xamarin forms increase ProgressBar heightカスタムプログレスバーの高さを変更できません。Xamarin.Forms iOS

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. 

     } 
    } 
} 

答えて

0
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; 


     } 

これは私がプログレスバーの問題の高さを固定する方法です。

関連する問題