1

我的应用程序中有一个导航控制器。我在视图的导航栏中添加 UIBarButtonItem 。当我将 UIBarButtonItem 添加到导航栏中时,它们的默认宽度和高度是 44*30。我想要导航栏中大小为 30*30 的 UIBarButtonItem。我怎样才能做到这一点?我曾尝试更改 UIBarbutton 的 width 属性,但在探索时我知道只有在 ToolBar 中插入 UIBarButtons 才能更改默认宽度,而在插入导航栏时则无法更改。有什么方法可以实现这一目标吗?

我的基本需求是我想要导航栏左侧的两个方形 (30*30)条形按钮和导航栏右侧的一个。是的,我可以在那里插入简单的按钮并在那里设置框架而不是条形按钮。但我只想知道是否可以更改条形按钮的宽度。如果可以,那是什么方法?

4

2 回答 2

1

根据您的需要创建一个UIButton并将其分配为左右栏按钮。您可以根据需要更改框架。以与右键相同的方式。

UIButton *mybutton = [UIButton buttonWithType: UIButtonTypeCustom];
[mybutton setImage:[UIImage imageNamed:@"anyimage.png"]];
  [mybutton setFrame:CGRectMake(0,0,30,30)];
[mybutton addTarget:self action:@selector(onclick:) forControlEvents: UIControlEventTouchUpInside];
UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView: mybutton];
[self.navigationItem setLeftBarButtonItem:customItem];

更新:-请根据您的边框样式使用它。

 [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc]initWithTitle:@"Test" style:UIBarButtonItemStyleBordered target:self action:@selector(test:)]];
于 2012-08-21T07:05:54.913 回答
0
UIButton *desiredBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc]  initWithCustomView:desiredBtn];

然后将此栏按钮添加到导航栏

self.navigationItem.rightBarButtonItem = aBarButtonItem;
于 2012-08-21T07:11:02.043 回答