UIButton mit transparenten Bild-hintergrund nicht zeichnen transparent

Habe ich ein seltsames Problem. Ich habe eine UIButton mit UIButtonTypeCustom.

Dafür ist das Hintergrundbild, ich bin mit einem transparenten Bild. Das Problem ist, dass die Transparenz über das tatsächliche Bild scheint nicht korrekt zu sein. Das seltsame ist, dass es ist in der Tat transparent, weil der hintergrund wird korrekt hinter der Schaltfläche.

Unten ist ein Beispiel, wie die Schaltfläche aussieht (Links) und wie die Schaltfläche Aussehen soll (rechts). Ich nahm einen screenshot und überlagert das Bild auf den hintergrund in Photoshop, und der hintergrund wird richtig in das Bild, während in der eigentlichen Taste auf der linken Seite tut es nicht. Deutlich, der Glanz ist intensiver auf der linken UIButton vs. das eigentliche Bild beim einfügen auf den hintergrund.

UIButton mit transparenten Bild-hintergrund nicht zeichnen transparent

Hier ist das Bild, das ich verwende, um zu zeigen, dass es tatsächlich Transparenz:

UIButton mit transparenten Bild-hintergrund nicht zeichnen transparent

Hier ist mein code:

UIButton *nextButton = [UIButton buttonWithType:UIButtonTypeCustom];
nextButton.backgroundColor = [UIColor clearColor];
nextButton.frame = CGRectMake(0, 0, 30, 30);
[nextButton setBackgroundImage:[[UIImage imageNamed:@"ButtonBackground.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:5] forState:UIControlStateNormal];

forState:UIControlStateHighlighted];
[self addSubview:nextButton];

Ich habe das exakt gleiche Bild anderswo, mit zu ziehen und hatte kein Problem mit Transparenz.

UPDATE: Hinzufügen andere transparente Bilder in ähnlicher Weise erhöht die Intensität der alpha. Sie sind zwar transparent, erscheinen Sie dunkler und daher weniger transparent. Wieder perfekt an anderer Stelle.

UPDATE 2: Noch schlimmer, ich gerade erstellt ein neues Projekt mit dem genau gleichen Bild gezerrt, von dem anderen Projekt, erstellt einen button und hatte keine Probleme mit der-Taste die Anzeige korrekt. Wie unglaublich ärgerlich!

  • haben Sie versucht, die Einstellung der image-Eigenschaft und nicht die backgroundImage-Eigenschaft? macht es einen Unterschied dann?
  • Siehe Gespräche unten.
  • Sie wohl brauchte nur einen sauberen Aufbau. Haben Sie ein altes Bild, das war weniger oder nicht transparent und verändert Sie für eine neue ein und es hielt den Verweis auf die alte. XCode scheint, anhänglich, um gelöschte Dateien aus irgendeinem Grund.
  • Wenn Sie jemals ändern Sie ein Bild oder eine Datei in Ihrem XCode-Projekt, ist es immer eine gute Idee, reinigen Sie das Projekt, und es sollte alles aktualisieren. Reinigen Sie Ihre alten Projekt-und sehen, was passiert.
  • basierend auf update2: versuchen Sie: 1)xcode - clean-Projekt, 2)simulator - zurücksetzen-Inhalte und Einstellungen oder löschen Sie die app 3)Gerät - löschen Sie die bestehende app
  • Haben Sie das gelöst - ich habe ein rundes Bild in einem UIButton mit transparenten Grenzen, so dass es passt in einen UIButton. Wenn ich Blättern meine tabel view mal ein paar der Bilder verliert an Qualität. Wenn Sie verlassen, sehen Sie sich ein laden Sie Ihre perfekte.

InformationsquelleAutor runmad | 2012-05-18
Schreibe einen Kommentar