Problem Einfügen eines Bildes in der Symbolleiste UIBarButtonItem, leere weiße Feld Anzeige anstelle des Bildes
-
26-09-2019 - |
Frage
Ich bin nicht sicher, was im tut falsch. Der Dateiname korrekt ist, wird der Stil auf Ebene gesetzt. Aber Im immer eine Bank weißen Kasten die Größe meines Bildes. Im mit UINavigationController.
Bitte helfen und danken Sie im Voraus danken.
** Übrigens, ich bin sorta neu in Objective c so nicht auf mir zu hart sein. ;)
UIBarButtonItem *toolbarChannelGuideButton = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"channel-guide-button.png"]
style:UIBarButtonItemStylePlain
target:self
action:@selector(action:)];
self.toolbarItems = [NSArray arrayWithObjects:toolbarChannelGuideButton, nil];
[toolbarChannelGuideButton release];
Lösung
Der Grund, es wurde, war die weiße Maske zu schaffen, weil der UIToolBar
tut ihn durch Standardfarbbilder ermöglichen. Die Art und Weise, dies zu erreichen ist ein UIImage
Schaffung dann eine UIButton
zu diesem Bild zuordnen. Dann erstellen Sie ein UIBarButton
initWithCustomView
mit dem UIButton
wie die Ansicht individuellen verwenden.
Code:
//Load the image
UIImage *buttonImage = [UIImage imageNamed:@"your-image.png"];
//create the button and assign the image
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
//sets the frame of the button to the size of the image
button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
//creates a UIBarButtonItem with the button as a custom view
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.toolbarItems = [NSArray arrayWithObjects:customBarItem, nil];
[customBarItem release];
Andere Tipps
Beginnend mit iOS 7 Sie können unten verwenden:
UIImage *image = [[UIImage imageNamed:@"myImage.png"];
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(YOUR_METHOD:)];
Does Kanal-guide-button.png gehört in Projekt?
Sie können dies ausbricht wie folgt aus:
UIImage *image = [UIImage imageNamed:@"channel-guide-button.png"];
NSLog(@" image = %p", image);
UIBarButtonItem *toolbarChannelGuideButton = [[UIBarButtonItem alloc]
initWithImage:image
style:UIBarButtonItemStylePlain
target:self
action:@selector(action:)];
oder einfach nur überprüfen Sie Ihr Projekt; -)