栏按钮项以编程方式添加工具栏

Posted

技术标签:

【中文标题】栏按钮项以编程方式添加工具栏【英文标题】:bar button item add toolbar programmatically 【发布时间】:2012-05-04 06:53:22 【问题描述】:

我想以编程方式将按钮而不是条形按钮项添加到工具栏中。我选择它是因为按钮有图像 infodark defaut。

那么这是如何以编程方式完成的呢?

【问题讨论】:

您在工具栏上添加一个视图,然后在该工具栏上添加一个按钮,这样就可以了。首先尝试在工具栏上直接添加按钮,如果没有,然后尝试使用视图 【参考方案1】:
UIImage* image = [UIImage imageNamed:defaultImage];
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* button = [[UIButton alloc] initWithFrame:frame];
[button setTitle:@"Display" forState:UIControlStateNormal & UIControlStateHighlighted];
[button setImage:image forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:selectedImage] forState:UIControlStateSelected];
[button addTarget:self action:@selector(button_Clicked:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:button];

【讨论】:

将条形按钮项添加到工具栏 self.forwardButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:nil action:nil]; NSArray *toolBarItems = [[NSArray alloc] initWithObjects:forwardButton,nil]; // 设置工具项 [self.toolBar setItems:toolBarItems]; // 添加项目到工具栏 [self addSubview:self.toolBar];编辑如果你想在 barbuttonitems UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];【参考方案2】:

要在UIToolbar 中添加此按钮,您需要此代码。 首先你可以在之后初始化UIToolbar

NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:4];

[buttons addObject: barButtonItem];
[buttons addObject: btnFav];
[buttons addObject: btnGeneralPopOverController];
[buttons addObject: showInfo];   

[mytoolbar setItems:buttons animated:NO];

【讨论】:

以上是关于栏按钮项以编程方式添加工具栏的主要内容,如果未能解决你的问题,请参考以下文章

工具栏中的栏按钮方法未调用

如何以编程方式获取操作栏后退按钮宽度?

以编程方式在工具栏项按钮上添加图像

以编程方式完成时未显示工具栏

xcode / storyboard:无法将栏按钮拖动到顶部的工具栏

如何以编程方式将 UIButton 添加到 UIToolBar?