0

我想将两个带有自定义图像的按钮添加到具有特定位置的导航栏。

我找到了解决方案,但它适用于右/左导航栏按钮。

我的代码是:

 NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:2];
 UIToolbar *tools = [[UIToolbar alloc]
                    initWithFrame:CGRectMake(0.0f, 0.0f, 90.0f, 55.01f)];
// Add Pin button.

UIBarButtonItem *bi1 = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(Edit:)];
bi1.style = UIBarButtonItemStyleBordered;
bi1.width = 45;
[buttons addObject:bi1];
[bi1 release];

// Add Hot Spot button.
UIBarButtonItem *bi2 = [[UIBarButtonItem alloc] initWithTitle:@"+" style:UIBarButtonItemStylePlain target:self action:@selector(Add:)];
bi2.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi2];
[bi2 release];

// Add buttons to toolbar and toolbar to nav bar.
[tools setItems:buttons animated:NO];
[buttons release];

 // Add toolbar to nav bar.
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
self.navigationItem.rightBarButtonItem = twoButtons;
[twoButtons release];

我怎样才能做到这一点?

4

4 回答 4

4
UIView *vieww =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[vieww addSubview:yourBtn1];
[vieww addSubview:yourBtn2];

[self.navigationController.navigationBar addSubview:vieww];    

如果你想删除 yourButtonView 那么 make 是全局对象;

in .h

UIView *vieww;

并且在.m

-(void)viewWillDisappear:(BOOL)animated
{
    [vieww removeFromSuperview];
}

或者按照这个获取更多 链接

于 2012-12-15T07:47:34.100 回答
1

如果您使用的是 >iOS 5,请使用它。

UIBarButtonItem *btn1=[[UIBarButtonItem alloc] initWithTitle:@" + " style:UIBarButtonItemStyleDone target:self action:@selector(action1:)];
    UIBarButtonItem *btn2=[[UIBarButtonItem alloc] initWithTitle:@" - " style:UIBarButtonItemStyleDone target:self action:@selector(action2:) ];
self.navigationItem.rightBarButtonItems=[NSArray arrayWithObjects:btn1,btn2,nil];

对于 < iOS 5,您可以使用以下内容:

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 160, 44.01)];
        tools.barStyle = UIBarStyleBlackOpaque;
        // create the array to hold the buttons, which then gets added to the toolbar
        NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:4];
        [buttons addObject:btn1];
        [buttons addObject:btn2];
        [tools setItems:buttons animated:NO];
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
于 2012-12-15T09:10:06.250 回答
0

您可以创建一个 UIView,在该视图上添加两个按钮,而不是添加工具栏。

    UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:yourView];
于 2012-12-15T07:47:24.973 回答
0

如果您想结合使用情节提要执行此操作,请查看此问题

于 2013-06-10T11:43:32.570 回答