如何使用包含彩色图像的按钮自定义UIToolbar? [英] How to customize the UIToolbar with buttons that contains colored images?

查看:109
本文介绍了如何使用包含彩色图像的按钮自定义UIToolbar?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个关于UIToolbar的问题:

I have two questions about the UIToolbar:

1:我已经阅读了很多关于如何在UIToolbar中使用带有自定义图像(彩色)按钮的Stackoverflow答案。我试图在UIToolbar的顶部放置一个视图(hack)并将带有图像的按钮放入其中,但是失败了。现在我被卡住了。你怎么能做到这一点?

1: I have read numerous Stackoverflow answers on how to use buttons with custom images (colored) in a UIToolbar. I have tried to put a view (hack) on top of the UIToolbar and put the buttons with the images in it, but failed. Right now I am stuck. How can you accomplish this?

2:有没有办法让许多按钮同时处于按下状态?我想要完成的功能是具有不同种类排序的不同按钮。

2: Is there a way to have many buttons in "pressed" state simultaneously? The function I want to accomplish is different buttons with different kind kinds of sorting.

推荐答案

好的答案解决了...这里它是:

Ok the answer solved itself... here it is:

我可以拥有带彩色图像的UIBarButtonItem吗?

-(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");
}

这篇关于如何使用包含彩色图像的按钮自定义UIToolbar?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆