Ich möchte ein UIBarButtonItem mit einem benutzerdefinierten Bild erstellen, aber ich möchte nicht den Rand, den das iPhone hinzufügt, da mein Bild einen speziellen Rand hat.
Es ist dasselbe wie die Zurück-Taste, aber eine Vorwärts-Taste.
Diese App ist für ein inHouse-Projekt gedacht, daher ist es mir egal, ob Apple sie ablehnt oder genehmigt oder mag :-)
Wenn ich die Eigenschaft initWithCustomView: v des UIBarButtonItem verwende, kann ich Folgendes tun:
UIImage *image = [UIImage imageNamed:@"right.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage: [image stretchableImageWithLeftCapWidth:7.0 topCapHeight:0.0] forState:UIControlStateNormal];
[button setBackgroundImage: [[UIImage imageNamed: @"right_clicked.png"] stretchableImageWithLeftCapWidth:7.0 topCapHeight:0.0] forState:UIControlStateHighlighted];
button.frame= CGRectMake(0.0, 0.0, image.size.width, image.size.height);
[button addTarget:self action:@selector(AcceptData) forControlEvents:UIControlEventTouchUpInside];
UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, image.size.width, image.size.height) ];
[v addSubview:button];
UIBarButtonItem *forward = [[UIBarButtonItem alloc] initWithCustomView:v];
self.navigationItem.rightBarButtonItem= forward;
[v release];
[image release];
Dies funktioniert, aber wenn ich diesen Vorgang in 10 Ansichten wiederholen muss, ist dies nicht trocken.
Ich nehme an, ich muss eine Unterklasse bilden, aber was?
- NSView?
- UIBarButtonItem?
Vielen Dank,
Grüße,