SearchBar渲染器更改未应用

时间:2017-04-06 14:47:50

标签: c# ios xamarin renderer

using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(SearchBar), typeof(RCI.iOS.SearchBarRenderer))]
namespace RCI.iOS
{
  public class SearchBarRenderer : Xamarin.Forms.Platform.iOS.SearchBarRenderer
  {
    protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
    {
      if(Control != null)
      {
        Control.Text = "Help Me!";
        Control.Layer.CornerRadius = 0;
        Control.TintColor = UIKit.UIColor.White;
        Control.SetPositionAdjustmentforSearchBarIcon(UIOffset.Zero, UISearchBarIcon.Search);
      }

      base.OnElementChanged(e);
    }
  }
}

我正在尝试为搜索栏创建自定义渲染器。我正在使用Xamarin.Forms iOS并且之前为此项目制作了渲染器。但由于某种原因,我无法将这些更改应用于我的searchBar。

1 个答案:

答案 0 :(得分:0)

我不确定您没有看到应用的结果。我猜测背景颜色并没有像你期望的那样变成白色。您必须应用加载空白图像iOS的愚蠢技巧,以便覆盖搜索栏的默认颜色。将以下内容添加到appDelegate中的FinishedLaunching方法中,你应该很好。

UISearchBar.Appearance.BackgroundImage = new UIImage();