zoukankan      html  css  js  c++  java
  • 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#>);

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

  • 相关阅读:
    Java排序算法之归并排序
    Java多线程学习笔记(四)——Thread类中方法介绍
    大数据平台搭建:Hadoop
    np.arrange用法
    Pandas中DateFrame修改列名
    python .loc vs .iloc区别
    The categories of Reinforcement Learning 强化学习分类
    python3.6安装总结
    梯度下降法与牛顿下降法速度的比较
    My SQL 和SQL Server区别
  • 原文地址:https://www.cnblogs.com/fleas/p/5565117.html
Copyright © 2011-2022 走看看