在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, "");
}
}
答案 0 :(得分:2)
这听起来像糟糕功能回归。 IMO的答案不是解决方法,最好的方法是:使用早期版本,但找到何时/为何发生这种情况,并确保MonoTouch的下一版本不会对其他开发人员进行这种重大改变。
由于MonoTouch.Dialog程序集是开源的,因此处理这些问题的最佳方法是跟踪修订发生的位置。你可以从github看到history,然后对导致问题的条目发表评论(例如,这个one 看起来像一样候选 - 也许只是因为它做了太多事情一个补丁)。
因此,如果此版本之前的版本有效,那么您可以添加有关该问题的注释(页面底部)。存储库后面的每个人都会收到一封电子邮件。
更新:已恢复引入重大更改的修补程序。