Search code examples
iphoneiosios5uitoolbar

UIBarButtonSystemItemCamera is not centered on UIToolBar


I've got very simple code here

[mImagePickerToolBar setBarStyle:UIBarStyleBlackTranslucent];
[mImagePickerToolBar sizeToFit];
UIBarButtonItem *spaceItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *spaceItem2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(captureBarItemPressed:)];

NSArray *items = [NSArray arrayWithObjects: spaceItem1, cameraItem, spaceItem2, nil];

[mImagePickerToolBar setItems:items animated:NO];

on my UIToolBar camera item is not centered at all, see on the picture, in comparison with home button its a little bit right, why is this so and how to center it ?

 enter image description here


Solution

  • [self.navigationController setToolbarHidden:NO];
    toolbar = [[UIToolbar alloc] init];
    toolbar.barStyle = UIBarStyleBlackOpaque;
    [toolbar sizeToFit];
    toolbar.frame = CGRectMake(0, 436, 320, 44);
    UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
    spaceItem.width = 130.0;
    UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(captureBarItemPressed:)];
    NSArray *items = [NSArray arrayWithObjects: spaceItem, cameraItem, nil];
    [toolbar setItems:items];
    [self.navigationController.view addSubview:toolbar];
    

    This is working for me. Please make sure at your side