优质广告供应商

广告是为了更好地支持作者创作

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...
    心如止水的鱼阅读 193评论 0 0
  • 一个UIButton的实例变量, 使一个按钮(button)在触摸屏上生效。一个按钮监听触摸事件,当被点击时,给目...
    wushuputi阅读 1,271评论 0 1
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 字数1443 阅读548 评论5 喜欢36UIButton 的全面解析建议收藏,用到的时候来这里一查就都明白了 初...
    xiao小马哥阅读 933评论 0 1
  • 概述 UIButton的父类是UIControl,UIControl的父类是UIView,UIView的父类是UI...
    guaker阅读 2,430评论 1 9
  • Button的基本使用 既能显示文字,又能显示图片 UIButton的状态:normal(普通状态): UICon...
    CoderRH阅读 215评论 0 0
  • 文/林秋 一 今天翻朋友圈,看到L小姐的发的一条状态:“心凉该怎么去温暖?” 我给她留言:“这是失恋了吗?” 很快...
    林秋2018阅读 150评论 0 1
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 之前遇到一个人,说喜欢喝星爸爸里的豆奶拿铁,我好奇地说为什么还有豆奶拿铁这么反人类的东西,一听这组合就觉得味道一定...
    言奈何阅读 446评论 0 50
  • 近日,哈尔滨气温已降至零下30多摄氏度,这种气温相信很多人都没有体验过,在室外半个小时不到,眉毛和睫毛上会挂上一层...
    米盼盼是个小笨蛋阅读 252评论 0 1
  • 琅琊令之梦 武侠江湖 非真实之互换 不过是回眸看了三眼,我便失望地发现,那个我以为特别的男人,也不过是个俗人,抵...
    安之若零阅读 250评论 9 10
  • 可以说 今天的一切都不对 阳光 空气 还有电 我怎么像是躺在昨天 该做什么 “发呆吧” 苍蝇围着果皮打圈 阿猫阿狗...
    初五阅读 116评论 3 0