在 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, "");
}
}
这听起来像是一个bad特征回归。 IMO 的答案不是解决方法,最好的方法是:使用早期版本,但找到发生这种情况的时间/原因,并确保 MonoTouch 的下一个版本不会将这种破坏性更改强加给其他开发人员。
处理这些问题的最好方法是MonoTouch.Dialog https://github.com/migueldeicaza/MonoTouch.Dialog程序集是开源的,是为了跟踪它发生的修订。您可以看到history https://github.com/migueldeicaza/MonoTouch.Dialog/commits/master/MonoTouch.Dialog/DialogViewController.cs来自 github,然后对导致问题的条目进行评论(例如此one https://github.com/migueldeicaza/MonoTouch.Dialog/commit/a5a676d8bb89123e200afa4a9442f67fe4884101#MonoTouch.Dialog/DialogViewController.cs looks就像一个候选者 - 也许只是因为它在一个补丁中做了太多的事情)。
因此,如果此版本之前的修订有效,那么您可以添加有关该问题的评论(页面底部)。关注存储库的每个人都会收到一封电子邮件。
UPDATE:引入重大更改的补丁已被恢复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)