iOS設(shè)置透明視圖(父視圖)上顯示不透明(子視圖)視圖

如題,開發(fā)中經(jīng)常會碰到需要背景透明,上面顯示的控件不透明的情況胳挎,一般首先都會想到先父子視圖布局,然后設(shè)置需要透明度的父視圖的alpha值溺森,但是慕爬,如果直接設(shè)置該視圖的alpha值,會導(dǎo)致該視圖上的所有子控件也具有相應(yīng)的透明度屏积。目前我用6種方法進(jìn)行解決澡罚,其中前四種的核心都是通過設(shè)置父視圖的背景顏色來達(dá)到目的。

效果圖:
效果圖.png
方法:

1肾请、如果是xib進(jìn)行UI布局,那么在父視圖上對背景進(jìn)行設(shè)置:
xib設(shè)置透明度.jpg

2更胖、使用colorWithWhite:alpha:方法
0表示黑色铛铁,1表示白色,可取0~1中間的值却妨。這種方法只能設(shè)置黑白之間的透明度
3饵逐、使用colorWithRed:green:blue:alpha:方法
這種方法可以設(shè)置任何我們需要的顏色

4、使用colorWithAlphaComponent:方法
這個方法是返回一個具有透明度的UIColor彪标,再將這個UIColor賦值給相應(yīng)的view
5倍权、父子視圖平級
即子視圖也直接添加在self.view上,這樣子視圖不是添加在父視圖上面捞烟,父視圖上設(shè)置相應(yīng)的alpha值就不會影響到子視圖
6.使用具有透明度的背景圖片薄声。
讓UI幫你做一張你需要的圖片,直接放上去题画。
代碼如下:

//1------
    UIView * fatherView1 = [[UIView alloc] initWithFrame:CGRectMake(50, 180, Width - 100 , 50)];
    fatherView1.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
    [self.imageView addSubview:fatherView1];
    
    UILabel * subLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, fatherView1.frame.size.width - 20, 30)];
    subLabel.backgroundColor = [UIColor blueColor];
    subLabel.textColor = [UIColor whiteColor];
    subLabel.text = @"colorWithWhite:alpha:";
    [fatherView1 addSubview:subLabel];
    
    //2-------
    UIView * fatherView2 = [[UIView alloc] initWithFrame:CGRectMake(50, 260, Width - 100, 50)];
    fatherView2.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
    [self.imageView addSubview:fatherView2];
    
    UILabel * subLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, fatherView2.frame.size.width - 20, 30)];
    subLabel2.textColor = [UIColor whiteColor];
    subLabel2.backgroundColor = [UIColor blueColor];
    subLabel2.text = @"colorWithRed:green:blue:alpha:";
    [fatherView2 addSubview:subLabel2];
    
    
    //3-------
    UIView * fatherView3 = [[UIView alloc] initWithFrame:CGRectMake(50, 340, Width - 100, 50)];
    UIColor * fatherColor = [UIColor blackColor];
    fatherView3.backgroundColor = [fatherColor colorWithAlphaComponent:0.5];
    [self.imageView addSubview:fatherView3];
    
    UILabel * subLabel3 = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, fatherView3.frame.size.width - 20, 30)];
    subLabel3.backgroundColor = [UIColor blueColor];
    subLabel3.textColor = [UIColor whiteColor];
    subLabel3.text = @"colorWithAlphaComponent:";
    [fatherView3 addSubview:subLabel3];
    
    
    //4------
    UIView * fatherView4 = [[UIView alloc] initWithFrame:CGRectMake(50, 420, Width - 100, 50)];
    fatherView4.backgroundColor = [UIColor blackColor];
    fatherView4.alpha = 0.5;
    [self.imageView addSubview:fatherView4];
    
    UILabel * subLabel4 = [[UILabel alloc] initWithFrame:CGRectMake(60, 430, Width - 120, 30)];
    subLabel4.backgroundColor = [UIColor blueColor];
    subLabel4.text = @"父子視圖平級默辨,子視圖也直接添加在view上";
    subLabel4.textColor = [UIColor whiteColor];
    subLabel4.adjustsFontSizeToFitWidth = YES;
    [self.imageView addSubview:subLabel4];
    
    
    //5-------
    UIImageView * fatherImage = [[UIImageView alloc] initWithFrame:CGRectMake(50, 500, Width - 100, 50)];
    fatherImage.image = [UIImage imageNamed:@"bgColorAlpha.png"];
    [self.imageView addSubview:fatherImage];
    
    UILabel * subLabel5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, fatherImage.frame.size.width - 20, 30)];
    subLabel5.backgroundColor = [UIColor blueColor];
    subLabel5.text = @"半透明背景圖";
    subLabel5.textColor = [UIColor whiteColor];
    [fatherImage addSubview:subLabel5];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市苍息,隨后出現(xiàn)的幾起案子缩幸,更是在濱河造成了極大的恐慌,老刑警劉巖竞思,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件表谊,死亡現(xiàn)場離奇詭異,居然都是意外死亡盖喷,警方通過查閱死者的電腦和手機(jī)爆办,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來课梳,“玉大人押逼,你說我怎么就攤上這事步藕。” “怎么了挑格?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵咙冗,是天一觀的道長。 經(jīng)常有香客問我漂彤,道長雾消,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任挫望,我火速辦了婚禮立润,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘媳板。我一直安慰自己桑腮,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布蛉幸。 她就那樣靜靜地躺著破讨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奕纫。 梳的紋絲不亂的頭發(fā)上提陶,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音匹层,去河邊找鬼隙笆。 笑死,一個胖子當(dāng)著我的面吹牛升筏,可吹牛的內(nèi)容都是我干的撑柔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼您访,長吁一口氣:“原來是場噩夢啊……” “哼乏冀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洋只,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤辆沦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后识虚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肢扯,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年担锤,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔚晨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铭腕,靈堂內(nèi)的尸體忽然破棺而出银择,到底是詐尸還是另有隱情,我是刑警寧澤累舷,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布浩考,位于F島的核電站,受9級特大地震影響被盈,放射性物質(zhì)發(fā)生泄漏析孽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一只怎、第九天 我趴在偏房一處隱蔽的房頂上張望袜瞬。 院中可真熱鬧,春花似錦身堡、人聲如沸邓尤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汞扎。三九已至,卻和暖如春赴精,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绞幌。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工蕾哟, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人莲蜘。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓谭确,卻偏偏與公主長得像,于是被迫代替她去往敵國和親票渠。 傳聞我的和親對象是個殘疾皇子逐哈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349