使button的背景色變為半透明的但不影響字體的透明度


 

效果如圖:

然而做出這樣的效果並不順利, 剛開始的時候代碼如下:

 

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeSystem];
    backButton.backgroundColor = color;
    backButton.frame = CGRectMake(18, 610, 380, 50);
    [backButton setTitle:@"返回登錄" forState:UIControlStateNormal];
    [backButton setTitleColor:color forState:UIControlStateNormal];
    backButton.alpha = 0.3;
    backButton.layer.cornerRadius = 5;
    backButton.layer.masksToBounds = YES;
    [backButton addTarget:self action:@selector(backLogin:) forControlEvents:UIControlEventTouchUpInside];

執行之后的效果是下面這個樣子的:--

 

對此, 我意識到是設置button透明度的時候, button上字體的透明度也會做出同樣的改變. 於是出現上面的情況..

改正后的代碼如下:

 UIButton *backButton = [UIButton buttonWithType:UIButtonTypeSystem];
    backButton.backgroundColor = [UIColor colorWithRed:0 / 255.0 green:180 / 255.0 blue:140 / 255.0 alpha:0.3];
    backButton.frame = CGRectMake(18, 610, 380, 50);
    [backButton setTitle:@"返回登錄" forState:UIControlStateNormal];
    [backButton setTitleColor:color forState:UIControlStateNormal];

如代碼所示, 將透明度的設置放在backgroundcolor 中, 而不要改變button的alpha屬性.執行后的樣子就是第一張圖顯示的樣子.

警紀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM