Chcę utworzyć UIBarButtonItem z niestandardowym obrazem, ale nie chcę obramowania dodawanego przez iPhone'a, ponieważ mój obraz ma specjalną ramkę.
Jest taki sam jak przycisk Wstecz, ale przycisk Dalej.
Ta aplikacja jest przeznaczona do projektu inHouse, więc nie obchodzi mnie, czy Apple ją odrzuci, zatwierdzi lub polubi :-)
Jeśli używam właściwości initWithCustomView: v UIBarButtonItem, mogę to zrobić:
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];
To działa, ale jeśli muszę powtórzyć ten proces w 10 widokach, to nie jest SUCHA.
Przypuszczam, że muszę podklasę, ale co?
- NSView?
- UIBarButtonItem?
dzięki,
pozdrowienia,