如何使用包含彩色图像的按钮自定义 UIToolbar?
Posted
技术标签:
【中文标题】如何使用包含彩色图像的按钮自定义 UIToolbar?【英文标题】:How to customize the UIToolbar with buttons that contains colored images? 【发布时间】:2011-01-12 08:40:56 【问题描述】:我有两个关于 UIToolbar 的问题:
1:我已经阅读了大量关于如何在 UIToolbar 中使用带有自定义图像(彩色)的按钮的 *** 答案。我试图在 UIToolbar 顶部放置一个视图(hack)并将带有图像的按钮放在其中,但失败了。现在我被困住了。你怎么能做到这一点?
2:有没有办法让多个按钮同时处于“按下”状态?我想要完成的功能是具有不同种类排序的不同按钮。
【问题讨论】:
【参考方案1】:好的,答案自己解决了……这里是:
Can I have a UIBarButtonItem with a colored image?
-(void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
toolbar = [[UIToolbar alloc] init];
toolbar.barStyle = UIBarStyleDefault;
//Set the toolbar to fit the width of the app.
[toolbar sizeToFit];
//Calculate the height of the toolbar
CGFloat toolbarHeight = [toolbar frame].size.height;
//Get the bounds of the parent view
CGRect rootViewBounds = self.parentViewController.view.bounds;
//Get the height of the parent view.
CGFloat rootViewHeight = CGRectGetHeight(rootViewBounds);
//Get the width of the parent view,
CGFloat rootViewWidth = CGRectGetWidth(rootViewBounds);
//Create a rectangle for the toolbar
CGRect rectArea = CGRectMake(0, rootViewHeight - toolbarHeight, rootViewWidth, toolbarHeight);
//Reposition and resize the receiver
[toolbar setFrame:rectArea];
//Create a button
UIImage *image = [UIImage imageNamed:@"colorImage.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.bounds = CGRectMake( 0, 0, image.size.width, image.size.height );
[button setImage:image forState:UIControlStateNormal];
[button addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
[toolbar setItems:[NSArray arrayWithObjects:barButtonItem,nil]];
//Add the toolbar as a subview to the navigation controller.
[self.navigationController.view addSubview:toolbar];
-(void)myAction
NSLog(@"jippiii");
【讨论】:
【参考方案2】:我知道你的第二个要求的答案。
在 IB 中单击视图并在检查器中检查多点触控启用。
干杯
【讨论】:
以上是关于如何使用包含彩色图像的按钮自定义 UIToolbar?的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义彩色图像添加到 TabBarController 中的 tabBar?
如何使带有自定义背景图像的按钮在Android中显示点击动画
Python使用openCV把原始彩色图像转化为灰度图使用OpenCV把图像二值化(仅仅包含黑色和白色的简化版本)基于自适应阈值预处理(adaptive thresholding)方法