2012-04-01 2 views
3

В выпуске MonoTouch.Dialog от 31 марта мы больше не можем установить цвет UISearchBar, так как есть новый контейнерный объект с жестко закодированными цветами.MonoTouch.Dialog: UISearchBar Color

Есть ли более простой способ изменить цвет 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, ""); 
      } 
     } 

ответ

2

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

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

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

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

Смежные вопросы