Tôi muốn tạo UIBarButtonItem với hình ảnh tùy chỉnh, nhưng tôi không muốn đường viền mà iPhone thêm vào, vì Hình ảnh của tôi có đường viền đặc biệt.
Nó giống như nút quay lại nhưng là nút chuyển tiếp.
Ứng dụng này dành cho một dự án inHouse, vì vậy tôi không quan tâm liệu Apple có từ chối hay phê duyệt hay thích nó hay không :-)
Nếu tôi sử dụng thuộc tính initWithCustomView: v của UIBarButtonItem, tôi có thể làm điều đó:
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];
Điều này hoạt động, nhưng nếu tôi phải lặp lại quá trình này trong 10 lần xem, thì đây không phải là KHÔ.
Tôi cho rằng tôi phải phân lớp, nhưng sao?
- NSView?
- UIBarButtonItem?
cảm ơn,
Trân trọng,