• 使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属性.执行后的样子就是第一张图显示的样子.

    警纪

  • 相关阅读:
    CPU和Memory压力测试方法
    WIN 系统怎么样查看EXpressCache功能
    OGG 源端与目标端 约束不一致
    oracle 查询角色具有的权限
    Mysql 主从一致校验工具------Maatkit工具包
    从库找不到对应的被删除的记录
    python安装包是出现错误解决
    mysql5.7用户密码策略问题
    Centos7上安装docker
    SQL通过身份证获取信息
  • 原文地址:https://www.cnblogs.com/mafeng/p/5676362.html
Copyright © 2020-2023  润新知