• xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距


    代码创建

    //创建UIButton

            UIButton * btnType=[[UIButton alloc]init];

            //设置UIControlStateNormal状态下的文字颜色

            [btnType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

            //设置字体大小

            btnType.titleLabel.font=[UIFont systemFontOfSize:9.0];

            //设置边框的宽度

            btnType.layer.borderWidth=1;

            //设置边框的颜色

            btnType.layer.borderColor=[[UIColor lightGrayColor]CGColor];

            //设置UIControlStateNormal的文字

            [btnType setTitle:@"按钮设置名字" forState:UIControlStateNormal];

            //设置UIControlStateNormal的图片

            [btnType setImage:[UIImage imageNamed:@"获取Assets.xcassets图片名称"] forState:UIControlStateNormal];

            //设置UIControlStateNormal背景图片

            [btnType setBackgroundImage:[UIImage imageNamed:@"获取Assets.xcassets图片名称"] forState:UIControlStateNormal];

            //设置失效状态

            btnType.enabled=NO;

    监听按钮点击

    //只要按钮触发了UIControlEventTouchUpInside事件,就调用self对象buttonClick方法

    [btn addTarget:self action:@selector(buttonClick) forCOntrolEvents:UIControlEventTouchUpInside];

    自定义按钮

    -(CGRect)titleRectForContentRect:(CGRect)contentRect{

            // 返回文字的frame   

     } 

    -  (CGRect)imageRectForContentRect:(CGRect)contentRect{

            // 返回图片的frame

     }

    按钮显示的状态

    设置不能点击 enabled 等于NO

    adjustsImageWhenDisabled 等于NO  在Disabled下要不要调整显示的图片

    adjustsImageWhenHighlighted 高亮下不要调整图片

    按钮内边距

    通过代码设置   contentEdgeINsets =   uiedgeInsetsMake 设置内边距

     contentEdgeInsets=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

    设置文字  titleEdgeInsets=uiedgeInsetsMake 设置文字的内边距

    titleEdgeInsets=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

    设置图片 imageEdgeInsets=uiedgeInsetsMake 设置图片的内边距

    imageEdgeInsetss=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

    微小调整使用内边距     复杂的话使用自定义按钮

  • 相关阅读:
    Linux 下 的 Oracle,如何安装 tnsname
    checkpoint process vs writer process vs wal writer process
    PostgreSQL的checkpoint能否并行
    PostgreSQL参数学习:wal_keep_segments
    PostgreSQL参数学习:vacuum_defer_clean_age
    PostgreSQL参数学习:max_wal_senders
    对PostgreSQL数据库的hstore类型建立GisT索引的实验
    PostgreSQL的hstore初步学习
    乐鑫esp8266基于freeRtos实现私有服务器本地远程OTA升级
    Android 6.0 超级简单的权限申请2 (Permission)
  • 原文地址:https://www.cnblogs.com/fleas/p/5565117.html
Copyright © 2020-2023  润新知