Iphone UIBarButtonItem中的按钮框

Iphone UIBarButtonItem中的按钮框,iphone,objective-c,ios,Iphone,Objective C,Ios,我在uibarbuttonite中只有一个按钮带有图像。我想把它放在屏幕中间,但我不能调整框架。请参阅代码和任何线索将是有用的 - (void)viewDidLoad { //self.navigationItem.hidesBackButton = NO; [super viewDidLoad]; UIImage *emailImage = [UIImage imageNamed:@"Email_Button.png"]; UIButton *emailButton = [UIBut

我在uibarbuttonite中只有一个按钮带有图像。我想把它放在屏幕中间,但我不能调整框架。请参阅代码和任何线索将是有用的

- (void)viewDidLoad {
//self.navigationItem.hidesBackButton = NO;

[super viewDidLoad];



UIImage *emailImage = [UIImage imageNamed:@"Email_Button.png"]; 
UIButton *emailButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
emailButton.frame = CGRectMake(0, 0, 100, 30);
    [emailButton setImage:emailImage forState:UIControlStateNormal];



UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc]  initWithCustomView:emailButton];
//[aBarButtonItem setFrame:CGRectMake(100, 0, 100, 30)];

[emailButton addTarget:self action:@selector(sendEmail) forControlEvents:UIControlEventTouchUpInside];

NSMutableArray * arr = [NSMutableArray arrayWithObjects:aBarButtonItem, nil];
[[self navigationController] setToolbarHidden: NO animated:YES];
[self setToolbarItems:arr animated:YES]; 
}

谢谢

< P>如果你想在中间有一个按钮,你可能应该使用两个灵活的空格键项目,在你的uBiButton项目的每一个边放一个,这应该有你想要的效果…

像这样创造一个

UIBarButtonItem *flexible = [[UIBarButtonItem alloc] `initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]`

希望它有助于

< P>如果你想在中间有一个按钮,你可能应该使用两个灵活的空格键项目,在你的uBiButton项目的每一个边放一个,这应该有你想要的效果…

for (UIView *view in self.navigationController.navigationBar.subviews) {
    if ([NSStringFromClass([view class]) isEqualToString:@"UINavigationButton"]) {
        [view setFrame:CGRectMake(0, 0, 50, 30)];
        [self.navigationController.navigationBar addSubview:view];
    }
}
像这样创造一个

UIBarButtonItem *flexible = [[UIBarButtonItem alloc] `initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]`
希望能有帮助

for (UIView *view in self.navigationController.navigationBar.subviews) {
    if ([NSStringFromClass([view class]) isEqualToString:@"UINavigationButton"]) {
        [view setFrame:CGRectMake(0, 0, 50, 30)];
        [self.navigationController.navigationBar addSubview:view];
    }
}