将自定义图像添加到iPad应用程序的工具栏

时间:2012-08-30 22:27:40

标签: ios uitoolbar uitoolbaritem

我已经看了很多,似乎无法在我的工具栏中使用自定义图像。我在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;
}

感谢您的光临。

1 个答案:

答案 0 :(得分:2)

这可能与您分配toolbarItems时有关。我假设一旦加载了UI,就需要在viewDidLoad方法中设置它。

您可能还可以使用以下方法简化条形按钮的创建:

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

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