MonoTouch.Dialog:UISearchBar颜色

时间:2012-04-01 23:02:23

标签: c# xamarin.ios uisearchbar monotouch.dialog

在3月31日发布的MonoTouch.Dialog中,我们现在无法再设置UISearchBar的颜色,因为有一个带有硬编码颜色的新容器对象。

是否有更简单的方法来更改UISearchBar的颜色?

作为一种解决方法,我使用它(知道UISearchBar是新类SearchBarBackgroundView的最后添加项:

        SearchBarBackgroundView sb = TableView.TableHeaderView as SearchBarBackgroundView;
        if (sb != null)
        {
            try
            {
                if (sb.Subviews.Count () > 1)
                {
                    UISearchBar bar = sb.Subviews [sb.Subviews.Count () - 1] as UISearchBar;
                    if (bar != null)
                    {
                        bar.BackgroundColor = Settings.AppTintColor;
                        bar.TintColor = Settings.AppTintColor;
                    }
                }
            }
            catch (Exception e)
            {
                ExceptionPublisher.Pub (e, ""); 
            }
        }

1 个答案:

答案 0 :(得分:2)

这听起来像糟糕功能回归。 IMO的答案不是解决方法,最好的方法是:使用早期版本,但找到何时/为何发生这种情况,并确保MonoTouch的下一版本不会对其他开发人员进行这种重大改变。

由于MonoTouch.Dialog程序集是开源的,因此处理这些问题的最佳方法是跟踪修订发生的位置。你可以从github看到history,然后对导致问题的条目发表评论(例如,这个one 看起来像一样候选 - 也许只是因为它做了太多事情一个补丁)。

因此,如果此版本之前的版本有效,那么您可以添加有关该问题的注释(页面底部)。存储库后面的每个人都会收到一封电子邮件。

更新:已恢复引入重大更改的修补程序。