iOS 创建背景透明或含有自定义图片的UIToolbar

iOS系统自带的UIToolbar的样式简单,往往不能满足开发或特殊目的的需要,例如设置完全背景透明的UIToolbar或者自定义UIToolbar的背景色,这时候就需要对UIToolbar进行单独定制。
设置UIToolbar背景透明,只需要设置UIToolbar的backgroundColor为[UIColor clearColor]即可,如果需要单独定制UIToolbar的背景色,则需要继承并自己实现UIToolbar对象。
直接修改背景色请参照以下的方法1,继承并自己实现UIToolbar对象请参照方法2。

方法1

 代码如下 复制代码

//使button的tint色与导航条一致
toolbar.tintColor = self.navigationController.navigationBar.tintColor;
toolbar.backgroundColor = [UIColor clearColor];  //设置为背景透明
for (UIView *view in [rightToolbar subviews]) {
 if ([view isKindOfClass:[UIImageView class]]) {
  [view removeFromSuperview];
 }
}

方法2

 代码如下 复制代码

//MyToolbar.h
@interface MyToolbar : UIToolbar
 
@end
 
//MyToolbar.m
@implementation MyToolbar
 
- (id)initWithFrame:(CGRect)aRect {
    if ((self = [super initWithFrame:aRect])) {
        self.opaque = NO;
        self.backgroundColor = [UIColor clearColor];  //设置为背景透明,可以在这里设置背景图片
        //self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]]; 
        self.clearsContextBeforeDrawing = YES;
    }
    return self;
}
 
- (void)drawRect:(CGRect)rect {
    // do nothing
}
 
@end

时间: 2024-09-20 05:50:30

iOS 创建背景透明或含有自定义图片的UIToolbar的相关文章

Android编程实现设置按钮背景透明与半透明及图片背景透明的方法_Android

本文实例讲述了Android编程实现设置按钮背景透明与半透明及图片背景透明的方法.分享给大家供大家参考,具体如下: Button或者ImageButton的背景设为透明或者半透明: 半透明 复制代码 代码如下: <Button android:background="#e0000000" ... /> 透明 复制代码 代码如下: <Button android:background="#00000000" ... /> 颜色和不透明度 (al

Word2013怎么设置图片背景透明

  Word2013设置图片背景透明的方法: ①插入所需要处理的图片. ②选中图片,选择"格式"选项,单击"颜色"选项,在"颜色"面板中选择"设置透明色"(word2013在插入图片之后,工具栏会自动调出图片格式的面板). ③在图片单色背景上点击一下,即可将图片单色背景调整成透明了.

Photoshop怎样使图片的背景透明

  Photoshop中使图片的背景透明的方法很简单,首先用魔棒选中背景删掉,然后存成GIF即可.然后将需要的图片抠下,再删除不用的部分. 分类: PS入门教程

iphone-如何自定义ios数字背景?

问题描述 如何自定义ios数字背景? 如何自定义UITabBarItem的标记数字? 像这样的效果: 解决方案 用MKNumberBadgeView实现自定义的badgeView. 自定义UITabBarController大概如下: MKNumberBadgeView *badge = [[MKNumberBadgeView alloc] initWithFrame:CGRectMake(110, self.view.frame.size.height-20, 30, 30)]; badge.

c++-用libpng生成一张背景透明上面有画出的墨迹的png图片

问题描述 用libpng生成一张背景透明上面有画出的墨迹的png图片 求大神指点12,小妹初来乍到,很是不懂啊 这个透明通道可以生成 但是墨迹就和背景一起透明了 怎么办π_π

实现png图片和png背景透明(支持多浏览器)的方法_javascript技巧

虽然有让IE6支持PNG透明背景的JS程序,都是不是很方便,还是用CSS来实现的好.使用到的就是:IE5.5+的AlphaImageLoader滤镜. 1.png背景透明 解决办法: 复制代码 代码如下: #div1 { height: 600px; width: 260px; padding: 20px; background-repeat: repeat; } html>body #div1 { background-repeat: repeat;background-image: url(

css/js实现png图片ie6下背景透明实现代码

在IE6直接显示(包括内容中直接插入.作为背景图片)PNG-24格式的图片,是不能正确显示透明.半透明内容与其他内容的叠加呈现效果的.那些IE7+以及其他标准浏览器中漂亮的虚化.淡出.投影效果,在IE6-中很可能成了一坨难看的灰色. 如果你无法忍受ie6中难看的灰色,如果你无法放弃半透明叠加的效果,你会有机会遇到这个问题的.解决途径有不少.这里列举一些,以供参考: 1,修改设计效果,使之可以整块透明区域被切片而不影响显示效果.或者去掉半透明效果. 2,htc文件 这里的htc,和宏达手机是无关的

基于jQuery IE6下PNG图片背景透明问题解决方法

基于jQuery IE6下PNG图片背景透明问题解决方法 IE6问题真的很多,其中有一个问题是PNG图片背景无法变成透明,取而代之的是一个色块,有时候我们想用png透明图片来做小图标,这个在IE6下就纠结了,下面我们用一个jquery插件来解决这个问题,希望能帮上大家. 首先下载SuperSleight for jQuery,再下载一张透明gif图片transparent.gif. 引用脚本: <script type="text/网页特效" src="/scripts

[翻译] MCProgressView 使用自定义图片做进度显示

MCProgressView 使用自定义图片做进度显示 https://github.com/Baglan/MCProgressView Progress bar view with custom images. 使用自定义图片来显示进度条. Installation(安装) Add the QuartzCore framework to your project;添加QuartzCore框架 Copy files from the 'Classes' folder into your proj