1

我环顾四周,似乎无法在我的工具栏中使用自定义图像。我的 ViewController.m 的自定义初始化部分中有以下代码,这是添加它的正确位置吗?我在上方工具栏中没有看到任何图像。我想把它放在视图的右上方。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
    UIImage *image = [UIImage imageNamed:@"camera_30_30.png"];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:image forState:UIControlStateNormal];

    button.frame = CGRectMake( 0, 0, image.size.width, image.size.height);
    button.showsTouchWhenHighlighted = YES;

    [button addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

    NSMutableArray *items = [[NSMutableArray alloc] init];
    [items addObject:barButtonItem];
    self.toolbarItems = items;
}
return self;
}

感谢您的关注。

4

1 回答 1

2

这可能与您分配工具栏项的时间有关。我假设一旦加载了 UI,就需要在 viewDidLoad 方法中进行设置。

您可能还可以通过以下方式简化栏按钮的创建:

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]initWithImage:@"camera_30_30.png" style:UIBarButtonItemStyleBordered target:self action:@selector(myAction)];

此外,在您的代码中,您需要在最后发布项目

于 2012-08-30T23:20:22.437 回答