2012-04-01 13 views
3

Im 31. März Veröffentlichung von MonoTouch.Dialog uns nicht in der Lage sind, die Farbe der UISearchBar mehr jetzt zu setzen, wie es ein neues Containerobjekt mit hartcodiert Farben ist.MonoTouch.Dialog: UISearchBar Farbe

Gibt es eine einfachere Möglichkeit, die Farbe des UISearchBar zu ändern?

Als eine Arbeit um, verwende ich diese (wohl wissend, dass die UISearchBar die zuletzt hinzugefügten Artikel der neuen Klasse 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, ""); 
      } 
     } 

Antwort

2

Das klingt wie ein schlecht Merkmal Regression IMO ist die Antwort nicht Über einen Workaround, der beste wäre: Verwenden Sie eine frühere Revision, aber finden, wann/warum dies geschah und stellen Sie sicher, dass die nächsten Versionen von MonoTouch diese bahnbrechende Änderung nicht anderen Entwicklern aufzwingen.

Der beste Weg, damit umzugehen jene, da die MonoTouch.Dialog Versammlung op en source, dient dazu, die Revision zu verfolgen, an der sie aufgetreten ist. Sie können die history von Github sehen und dann den Eintrag kommentieren, der das Problem verursacht (z. B. das onesieht wie ein Kandidat aus - vielleicht nur weil es zu viele Dinge in einem einzigen Patch tut).

Also, wenn die Revision vor diesem funktioniert, dann fügen Sie einen Kommentar (unten auf der Seite) über das Problem hinzu. Jeder, der dem Repository folgt, erhält eine E-Mail.

UPDATE: Die Patches, die die brechenden Änderungen einführten, wurden zurückgesetzt.