【问题标题】:Make UIBarButtonItem transparent iOS 7/8使 UIBarButtonItem 透明 iOS 7/8
【发布时间】:2014-11-14 19:49:44
【问题描述】:

我知道有很多关于这个主题的问题/答案,但找不到合适的答案。 我以编程方式构建 UIBar。我自己的按钮(具有透明度的 png)具有回填而不是显示背景槽。

系统 UIBarButton 工作正常,但不是我自己的。

作品:

UIBarButtonItem *exportButton = [[UIBarButtonItem alloc]
  initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                       target:self                                                                                                    
                       action:@selector(tapExportButton:)];

无效:

UIBarButtonItem *favButton = [[UIBarButtonItem alloc] 
                initWithImage:[UIImage 
                   imageNamed:@"FavoriteStar"] 
                        style:UIBarButtonItemStylePlain 
                       target:self 
                       action:@selector(toggleFavorite:)];

png 的内部部分在我的 gfx 编辑器中是透明的

当我将它用作 UIBarButtonItem 时,内部是黑色的,而不是背景图片...

我该怎么做才能让它变得透明?

问候,

杰伦·沃尔夫

【问题讨论】:

    标签: ios uibarbuttonitem


    【解决方案1】:

    我正在修改你的代码以便更好地理解

    UIBarButtonItem *favButton = [[UIBarButtonItem alloc] 
                initWithImage:[UIImage 
                   imageNamed:@"FavoriteStar"] 
                        style:UIBarButtonItemStylePlain 
                       target:self 
                       action:@selector(toggleFavorite:)];
    

    以下是需要注意的几点: 1.你的导航栏应该是透明的。 2. 使用具有透明背景的 PNG 文件(以获得更好的质量)。 3.您也可以参考下面的代码

        UIButton *btnBack=[UIButton buttonWithType:UIButtonTypeCustom];
    btnBack.frame=CGRectMake(0, 29.5, 38, 25);
    [btnBack setBackgroundImage:[UIImage imageNamed:@"btn_back.png"] forState:UIControlStateNormal];
    [btnBack setBackgroundImage:[UIImage imageNamed:@"btn_backSelected.png"] forState:UIControlStateHighlighted];
    [btnBack addTarget:self action:@selector(btnbackClicked:) forControlEvents:UIControlEventTouchDown];
    UIBarButtonItem *barbutton=[[UIBarButtonItem alloc]initWithCustomView:btnBack];
    [barbutton setStyle:UIBarButtonItemStyleBordered];
    
    
    self.navigationItem.leftBarButtonItem=barbutton;
    

    我使用了一个自定义按钮作为栏按钮。

    我真的很想收到你的来信。请让我知道它是否有效。

    【讨论】:

    • 感谢 Abdul,但现在图像保持黑色。在它变成白色之前(我不知道它为什么变成白色,我是黑色的黎明)。所以我将更改 png 中的绘制颜色
    • 或者有没有其他方法可以改变按钮图片的颜色。
    • 当我像这样使用 RenderingMode 制作图像时,它可以工作 [[UIImage imageNamed:@"FavoriteStarNormal"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多