UIButton

Button:多应用于监听点击,对想要获取的事件响应

              内部结构:ImageView:显示图片 - Label:显示文字

                             也可以当作ImageView和Label的合体使用

 常见属性:

        --UIButton状态:

      UIControlStateNormal         //正常状态

      UIControlStateHighlighted  //高亮状态

      UIControlStateDisable         //禁用状态

      UIControlStateSelected        //选中状态

      UIControlStateReserved       //保留状态

            --UIButton类型

      UIButtonTypeCustom        //自定义类型,多用于当有图片的时候

      UIButtonTypeContactAdd   // 添加按钮,不用设置Frame,有默认值

      UIButtonTypeInfoDark        //暗色背景的信息按钮

      UIButtonTypeInfoLight        //浅色背景的信息按钮

      ⚠注意: 一个方法可以监听多个按钮;

         --UIButton常用方法

           //设置对应状态的标题内容

 - (void)setTitle:(NSString*)title forState:(UIControlState)state;

           //设置对应状态的标题颜色

 -(void)setTitleColor:(UIColor *)color forState:(UIControlState)state;

         //设置对应状态的标题阴影颜色 

  -(void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;

   //设置对应状态的按钮的图片

  - (void)setImage:(UIImage*)image forState:(UIControlState)state;

            //设置对应状态的按钮背景图片

  -(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state

         //添加事件;用代码的方式监听点击事件

  - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;




--自定义button设置图片大小,文字大小

    方法1-//重写设置图片的的位置

- (CGRect)imageRectForContentRect:(CGRect)contentRect

{

CGFloatwight = contentRect.size.width;

CGFloathight = contentRect.size.height;

returnCGRectMake(5, 5, wight/2,hight/2);

}

//重写次方法设置文字的的位置

- (CGRect)titleRectForContentRect:(CGRect)contentRect

{

CGFloatwight = contentRect.size.width;

CGFloathight = contentRect.size.height;

returnCGRectMake(wight/2, 5, wight/2, hight/2);

}

方法2- 重写layousubviws设置图片文字位置

- (void)layoutSubviews

{

[superlayoutSubviews];

CGFloatwight =self.frame.size.width;

CGFloathight =self.frame.size.height;

self.imageView.frame=CGRectMake(5, 5, wight/2, wight/2);

}

上述两种方法,多用于自定义控件;合理利用button的label和imgview

当自定义button的时候:but.imageView.frame=CGRectMake(0, 0, 80, 40);  

                                    //❌错误,设置没有效果

--设置按钮内边距(图片-文字-上下左右的边距 )

1.通过storyboard的Edgt设置 图片-文字 内边距


2.通过代码

//设置图片的边距

self.btn.titleEdgeInsets=UIEdgeInsetsMake(10, 20, 30, 40);

//设置label的编剧

self.btn.imageEdgeInsets=UIEdgeInsetsMake(10, 20, 30, 40);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:UI控件整理之UIButton 一、显示图片(复选框) UIButton *button = [UIButt...
    心如止水的鱼阅读 294评论 0 0
  • 一个UIButton的实例变量, 使一个按钮(button)在触摸屏上生效。一个按钮监听触摸事件,当被点击时,给目...
    wushuputi阅读 1,545评论 0 1
  • 字数1443 阅读548 评论5 喜欢36UIButton 的全面解析建议收藏,用到的时候来这里一查就都明白了 初...
    xiao小马哥阅读 1,243评论 0 1
  • 概述 UIButton的父类是UIControl,UIControl的父类是UIView,UIView的父类是UI...
    guaker阅读 2,819评论 1 9
  • Button的基本使用 既能显示文字,又能显示图片 UIButton的状态:normal(普通状态): UICon...
    CoderRH阅读 326评论 0 0