Я хочу створити UIBarButtonItem із власним зображенням, але не хочу, щоб додавала межа, яку додає iPhone, оскільки мій Image має спеціальну межу.
Це те саме, що кнопка назад, але кнопка вперед.
Цей додаток призначений для проекту inHouse, тому мені байдуже, відхилить чи схвалить його Apple, чи сподобається :-)
Якщо я використовую властивість initWithCustomView: v властивості UIBarButtonItem, я можу це зробити:
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];
Це працює, але якщо мені доведеться повторити цей процес у 10 переглядах, це не СУХО.
Припускаю, що мені доводиться підклас, але що?
- NSView?
- UIBarButtonItem?
Дякую,
з повагою,