MonoTouch.Dialog: UISearchBar Color - PullRequest
3 голосов
/ 02 апреля 2012

В выпуске MonoTouch.Dialog от 31 марта мы больше не можем устанавливать цвет 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 Ответ

2 голосов
/ 02 апреля 2012

Звучит как плохая функция регрессии.ИМО ответ не об обходном пути, лучше всего было бы: использовать более раннюю ревизию, но выяснить, когда и почему это произошло, и убедиться, что следующие версии MonoTouch не навязывают это критическое изменение другим разработчикам.

Лучший способ справиться с этим, поскольку сборка MonoTouch.Dialog с открытым исходным кодом, состоит в отслеживании ревизии в том месте, где она произошла.Вы можете посмотреть history из github и затем прокомментировать запись, которая вызывает проблему (например, эта one выглядит как кандидат - возможно, только потому, что это слишкоммного вещей в одном патче).

Так что, если ревизия до этого работает, вы добавляете комментарий (внизу страницы) о проблеме.Каждый, кто последует за репозиторием, получит электронное письмо.

ОБНОВЛЕНИЕ : исправления, внесшие критические изменения, были отменены.

...