Hallo Freunde, ich bin neu in der iphone Entwicklung. Am Kampf mit Abzeichen Werte auf UIBarbutton Element auf der rechten Seite hinzufügen. Ich habe versucht, aber ich kann dieses Problem nicht lösen. Kann mir jemand helfen.
Vielen Dank im Voraus!
Hallo Freunde, ich bin neu in der iphone Entwicklung. Am Kampf mit Abzeichen Werte auf UIBarbutton Element auf der rechten Seite hinzufügen. Ich habe versucht, aber ich kann dieses Problem nicht lösen. Kann mir jemand helfen.
Vielen Dank im Voraus!
Ich weiß, dieser Beitrag ist ziemlich alt, aber mit iOS7, MKNumberBadgeView's Aussehen nicht wirklich mit der Registerkarte Bar Element Abzeichen Design. Ich habe diese andere Komponente gefunden, die UIBarButtonItem erbt und die Arbeit sehr gut machen:
https://github.com/TanguyAladenise/BBBadgeBarButtonItem
Ich hoffe, dies kann anderen iOS7-Entwicklern wie mir helfen
Endlich habe ich den Weg gefunden, um Abzeichen auf UIBarbutton-Elementen hinzuzufügen. Ich habe viel gesucht, aber nicht die richtige Antwort gefunden. Also erstellte ich UIButton und fügte es als benutzerdefinierte Ansicht auf rightbarbutton Element. Fügen Sie die MKNumberBadgeView für die Anzeige der Ausweisnummer. Unten habe ich meinen Code für Sie hinzufügen.
// Initialize NKNumberBadgeView...
MKNumberBadgeView *number = [[MKNumberBadgeView alloc] initWithFrame:CGRectMake(60, 00, 30,20)];
number.value = 10;
// Allocate UIButton
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 70, 30);
btn.layer.cornerRadius = 8;
[btn setTitle:@"Button" forState:UIControlStateNormal];
[btn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
//[btn setBackgroundColor:[UIColor blueColor]];
[btn setBackgroundColor:[UIColor colorWithRed:0.0 green:0.0 blue:0.1 alpha:0.2]];
btn.font = [UIFont systemFontOfSize:13];
//[btn setFont:[UIFont systemFontOfSize:13]];
[btn addSubview:number]; //Add NKNumberBadgeView as a subview on UIButton
// Initialize UIBarbuttonitem...
UIBarButtonItem *proe = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.leftBarButtonItem = proe;
Danke.
Phyzalis hat eine gute Antwort, eine kategorisierte Version seiner Lösung gibt es hier:
So können Sie es verwenden:
// Build your regular UIBarButtonItem with Custom View
UIImage *image = [UIImage imageNamed:@"someImage"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0,0,image.size.width, image.size.height);
[button addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchDown];
[button setBackgroundImage:image forState:UIControlStateNormal];
// Make BarButton Item
UIBarButtonItem *navLeftButton = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = navLeftButton;
// this is the key entry to change the badgeValue
self.navigationItem.leftBarButtonItem.badgeValue = @"1";
Ich habe etwas Ähnliches wie MaxMa gemacht, aber ich bin einfach weitergegangen und habe das Abzeichen direkt zur self.navigationController.navigationBar hinzugefügt.
MKNumberBadgeView *numberBadge = [[MKNumberBadgeView alloc] initWithFrame:CGRectMake(35, 0, 40, 40)];
numberBadge.value = 1;
[self.navigationController.navigationBar addSubview:numberBadge];
Stellen Sie einfach sicher, dass Sie es während viewWillDisappear aus der Unteransicht entfernen und während viewDidAppear wieder hinzufügen. Es scheint immer noch ein wenig hacky, aber ich bin bequemer mit diesem Hack dann ändern die Navigationsleiste z-Reihenfolge.
Um sie während viewWillDisappear zu entfernen
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[numberBadge removeFromSuperview];
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.