【问题标题】:SearchBar Renderer Changes not applyingSearchBar 渲染器更改未应用
【发布时间】:2017-04-06 14:47:49
【问题描述】:
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。

【问题讨论】:

  • 下断点时代码是否正在执行?
  • 是的,如果我添加一个断点,这个代码就会被命中。
  • 请删除。在下方添加完整的格式化评论

标签: c# ios xamarin renderer


【解决方案1】:

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

UISearchBar.Appearance.BackgroundImage = new UIImage();

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2019-11-18
    • 2012-12-20
    • 2020-04-24
    • 2021-09-05
    • 1970-01-01
    相关资源
    最近更新 更多