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#>);

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

  • 相关阅读:
    do...while(0)的妙用
    用位运算实现求绝对值-有效避开ifelse判断
    经典排序算法的C++ template封装
    DOM学习总结(二) 熊削铁如泥
    标签设计Loop标签
    asp:树型select菜单
    自家用的DataReapter分页代码
    正则表达式(一)
    C#中利用正则表达式实现字符串搜索
    解读C#中的正则表达式
  • 原文地址:https://www.cnblogs.com/fleas/p/5565117.html
Copyright © 2011-2022 走看看