在rightBarButtonItems中调整两个BarButtonItem的大小

时间:2015-01-13 13:36:55

标签: ios objective-c uiimage

我该怎么做:

enter image description here

我试图通过setframe进行更改,但没有发生任何事情:

UIImage *flechSuiv = [UIImage imageNamed:@"picto_fleche_lieux_suiv.png"];

UIButton *buttonSuiv =  [UIButton buttonWithType:UIButtonTypeCustom];
[buttonSuiv setImage:flechSuiv forState:UIControlStateNormal];
[buttonSuiv addTarget:self action:@selector(buttonAction:)forControlEvents:UIControlEventTouchUpInside];
[buttonSuiv setFrame:CGRectMake(0, 34+flechSuiv.size.width, flechSuiv.size.width,flechSuiv.size.height)];


self.navigationItem.rightBarButtonItems =  [NSArray arrayWithObjects:barButtonSuiv,barButtonPrec,nil];
self.navigationController.navigationBar.translucent = NO;

1 个答案:

答案 0 :(得分:0)

我认为你应该去自定义导航栏。在呈现视图之前,您需要隐藏导航栏。

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:NO];
}

并在视图控制器中放置一个与常规标签栏大小相匹配的UIView。 在该视图内部,您可以使用常规操作(推送或弹出)放置任何自定义按钮。