Question: Here is the snapshot:
![enter image description here](https://i.stack.imgur.com/qmXkR.png)

And the code is here:

```
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
leftButton.frame = CGRectMake(0.0f, 0.0f, 46.0f, 32.0f);
[leftButton setBackgroundImage:[UIImage imageNamed:@"navi_register_up.png"] forState:UIControlStateNormal];
[leftButton addTarget:self action:@selector(doRegister) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *leftBarItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
self.navigationItem.leftBarButtonItem = leftBarItem;
[leftBarItem release];

```

Is there any way to move the button up some px?
Thank you:)

Answer: 
You need to create a `UIBarButtonItem` with system item `UIBarButtonSystemItemFixedSpace` with -5 width which will remove `5 px` padding. Then set `leftBarButtonItems` with both fixed space item and your back bar item like this - 

```
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[negativeSpacer setWidth:-5];

self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:negativeSpacer,leftBarItem,nil];

```
Add a `UIBarButtonSystemItemFlexibleSpace` item in between the items you want to separate.